XML Element of XML Element of XML Element (and so on...)

Here is my XML data (shorted, in a file myFile):
<LiveData>
<Voltage>
<Total>
<VoltageNow>1052</VoltageNow>
</Total>
</Voltage>
<Power>
<Total>
<PowerNow>345</PowerNow>
</Total>
</LiveData>
I would like to get the VoltageNow and PowerNow values, but the following script does not work:
tell application "System Events"
set elem1 to XML element 1 of XML file myFile /*<LiveData>
set power to XML elements of elem1 whose name is "Power"
set total to XML elements of power whose name is "Total"
set powernow to value of XML elements of total whose name is "PowerNow"
end tell
Error: System Events got an error: Can’t make {} into type string.
BTW, I don't want to use XML Element X because the order may change.
What is the correct method to traverse these elements to obtain values?

AppleScript can handle the strings, but the System Events XML Suite doesn't work with text strings - it deals with the XML objects, which have name and value properties. The handler can be modified to show the names of an element, but it is just designed to work with the XML Suite.
The contents of an XML file is just text, so you can forgo System Events and just use regular text manipulation statements, or use another tool such as the Satimage XMLLib osax, which is much more robust and does include commands to display the XML object as a string.
By the way, my original handler was designed and tested in Leopard, but I discovered a Snow Leopard bug that alters the way it returns array/list contents. The following script has changes that return the functionality, in addition to a dialog handler that will display lists:
<pre style="
font-family: Monaco, 'Courier New', Courier, monospace;
font-size: 10px;
font-weight: normal;
margin: 0px;
padding: 5px;
border: 1px solid #000000;
width: 720px; height: 340px;
color: #000000;
background-color: #DAFFB6;
overflow: auto;"
title="this text can be pasted into the Script Editor">
on run -- example
set XMLFile to (choose file without invisibles)
show("element value:", (getXMLElement from {XMLFile, "LiveData", "Voltage", "Total", "VoltageNow"}))
end run
to show(label, something)
show an alert for something, formatting lists and records
parameters - label [text]: the alert text
something [mixed]: an item to put in the alert message
returns nothing
if something is not in {null, missing value} then
try -- show the message
if (class of something) is in {list, record} then (something as number) -- force an error
display alert label message (something as text)
on error errorMessage -- lists and records don't format very well, so cheat
set {here, there} to {(offset of "{" in errorMessage), -(offset of "}" in (reverse of text items of errorMessage) as text)}
display alert label message text here thru there of errorMessage
end try
else
display alert label message "*null or missing value*"
end if
end show
to getXMLElement from XMLItems
get the specified element from a simple XML structure by name or index
    the number of items is not fixed, but must be at least 2 (the XML file and an XML element)
  parameters: XMLItems [list] -
item 1 [text]: the XML file path (Finder or POSIX)
item 2 [mixed]: the XML element name or index (names are case sensitive)
item(s) 3+ [mixed]: sub item(s)
returns [list]: value of the element
try
if (count XMLItems) is less than 2 then error "getXMLElement handler:  item list contains too few items"
tell application "System Events"
set theXMLData to contents of XML file ((the first item of XMLItems) as text)
-- get text of theXMLData
set theXMLElement to XML element 1 of theXMLData -- start at the root element
repeat with anItem in rest of XMLItems -- add on the sub items
set anItem to contents of anItem
try
set anItem to anItem as integer -- index number?
end try
set theXMLElement to (get XML element anItem of theXMLElement)
end repeat
try -- return the element(s)
-- return name of XML elements of theXMLElement
set theResult to value of theXMLElement -- SL built-in result variable does not get set
if theResult is missing value then error -- SL does not error on empty or missing value
return theResult
on error errorMessage number errorNumber -- the element is empty, or a list of items
log errorMessage
return value of XML elements of theXMLElement
end try
end tell
on error errorMessage number errorNumber
log errorMessage
-- return null
error "getXMLElement handler:  element not found (" & errorNumber & ")"
end try
end getXMLElement</pre>

Similar Messages

  • Getting oracle.xml.parser.v2.XMLParseException: Start Of root Element

    Hi All,
    I am getting below error while creating STUB/Skeleton in Jdeveloper to call a web service from OAF Page But getting below error while trying to creating Stub/Skeleton to call weservice
    ERROR:
    oracle.xml.parser.v2.XMLParseException: Start Of root Element
    Any suggestion on This
    P.S: I am calling a third party web service so can not able to make changes in XML
    Regards,
    903096

    Possibility is that there is a problem in the XML that is being passed. Can you double check with the third party software? Also check if you can try it outside OA Framework first and then if its tested you can integrate with EBS.

  • Oracle.xml.parser.v2.XMLParseException: Start of root element expected

    Hi,
    while trying to get a soapelement from xml file, i have the error : oracle.xml.parser.v2.XMLParseException: Start of root element expected
    the code i m using is as follow :
    public static SOAPMessage XMLDocToSOAP(String soapBodyAsString ) throws SAXException, IOException,
    SOAPException,
    ParserConfigurationException {
    SOAPMessage message = null;
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setNamespaceAware(true);
    InputStream is = new ByteArrayInputStream(soapBodyAsString.getBytes());
    Document doc = dbf.newDocumentBuilder().parse(is);
    MessageFactory factory = MessageFactory.newInstance();
    message = factory.createMessage();
    message.saveChanges();
    SOAPBodyElement element = message.getSOAPBody().addDocument(doc);
    return message;
    }

    Looks like the XML you are passing is not valid. Check that the XML complies the the definition.
    Also can you post a XML that works and the one that fails.
    cheers
    James

  • Org.xml.sax.SAXException:SimpleDeserializer encountered a child element..

    Hi All,
    I created a following program using "GetReportDefintion" method provided by BI Publisher Web Services
    package bip_webservices;
    import com.oracle.xmlns.oxp.service.PublicReportService.ItemData;
    import com.oracle.xmlns.oxp.service.PublicReportService.ReportRequest;
    import com.oracle.xmlns.oxp.service.PublicReportService.ReportResponse;
    import com.oracle.xmlns.oxp.service.PublicReportService.ParamNameValue;
    import com.oracle.xmlns.oxp.service.PublicReportService.ReportDefinition;
    import com.oracle.xmlns.oxp.service.PublicReportService.ScheduleRequest;
    import com.oracle.xmlns.oxp.service.PublicReportService.DeliveryRequest;
    import com.oracle.xmlns.oxp.service.PublicReportService.EMailDeliveryOption;
    import  java.io.FileOutputStream;
    import  java.io.OutputStream;
    import java.net.MalformedURLException;
    import java.rmi.RemoteException;
    import  java.util.Calendar;
    import javax.xml.rpc.ServiceException;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import org.apache.axis.encoding.XMLType;
    import org.apache.axis.encoding.ser.BeanDeserializerFactory;
    import org.apache.axis.encoding.ser.BeanSerializerFactory;
    import  javax.xml.namespace.QName;
    import  javax.xml.rpc.ParameterMode;
    import  java.net.URL;
    public class BIP_GetReportDefinition {
        public static void main(String[] args) throws ServiceException, MalformedURLException, RemoteException{
         try{
            final String bipEndpoint = "http://localhost:9704/xmlpserver/services/PublicReportService?wsdl";
            final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService";
            final String xdofile = "/MyReports/SummaryCustomerReport/SummaryCustomerReport.xdo";
            Service service = new Service();
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(new URL(bipEndpoint));
           System.out.println("BEGIN TESTING getReportDefinition");
            // register the ReportDefinition class
            QName reportDef = new QName(bipNamespace, "ReportDefinition");
            call.registerTypeMapping(ReportDefinition.class, reportDef,
                            BeanSerializerFactory.class, BeanDeserializerFactory.class);
            // register the ParamNameValue class
            QName nmvals = new QName(bipNamespace, "ParamNameValue");
            call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class);
            call.setOperationName(new QName(bipNamespace, "getReportDefinition"));
            call.addParameter("reportAbsolutePath", XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN);
            call.setReturnClass(ReportDefinition.class);
            // issue the request
            ReportDefinition reportDefn = (ReportDefinition) call.invoke(
                new Object[] { xdofile, "Administrator", "Administrator"});
            System.out.println("Report Definition Returns with \n Default Output Format = " + reportDefn.getDefaultOutputFormat());
            ParamNameValue params [] = reportDefn.getReportParameterNameValues();
            if (params != null) {
                for (int i = 0; i < params.length; i++) {
                    System.out.print("Parameter " + params.getName() + ":");
    if (params[i].getValues() != null) {
    for (int j = 0; j < params[i].getValues().length; j++)
    System.out.print(" " + params[i].getValues()[j]);
    } else
    System.out.print(" null");
    System.out.println(" - multiple values? " + params[i].isMultiValuesAllowed());
    System.out.println("END TESTING getReportDefinition");
    }catch(Exception e){
    e.printStackTrace();
    I am getting following exception message. Anyone has any ideas what could be the mistake ?
    SEVERE: Exception:
    org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
            at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
            at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
            at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
            at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
            at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
            at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
            at org.apache.axis.client.Call.invoke(Call.java:2467)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at bip_webservices.BIP_GetReportDefinition.main(BIP_GetReportDefinition.java:67)
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
    faultActor:
    faultNode:
    faultDetail:
            {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
            at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
            at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
            at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
            at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
            at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
            at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
            at org.apache.axis.client.Call.invoke(Call.java:2467)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at bip_webservices.BIP_GetReportDefinition.main(BIP_GetReportDefinition.java:67)
            {http://xml.apache.org/axis/}hostname:mildh0228
    org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
            at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
            at org.apache.axis.client.Call.invoke(Call.java:2470)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at bip_webservices.BIP_GetReportDefinition.main(BIP_GetReportDefinition.java:67)
    Caused by: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
            at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
            at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
            at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
            at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
            at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
            at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
            at org.apache.axis.client.Call.invoke(Call.java:2467)
            ... 3 moreThanks for giving this problem a look.
    -Sookie

    Hi Sookie,
    I found the problem is with couple of child parameters are not registered the deserializer. There're couple of additional classes needs to be registerd.
    // register the TemplateLabelValue class
    QName templateval = new QName(bipNamespace, "TemplateFormatLabelValue");
    Class cls = TemplateFormatLabelValue.class;
    call.registerTypeMapping(cls, templateval, BeanSerializerFactory.class, BeanDeserializerFactory.class);
    // register the TemplateLabelValues class
    QName templatevals = new QName(bipNamespace, "TemplateFormatsLabelValues");
    cls = TemplateFormatsLabelValues.class;
    call.registerTypeMapping(cls, templatevals, BeanSerializerFactory.class, BeanDeserializerFactory.class);
    Could you please give it a try?
    Thanks.
    Yang

  • Org.xml.sax.SAXParseException: The prefix "c" for element "c:set" is not bo

    Hi,
    When deploying the ADF aaplication in glassfish server getting error like,
    [#|2012-12-03T14:21:53.586+0530|INFO|glassfish3.1.2|oracle.j2ee.jsp|_ThreadID=22;_ThreadName=Thread-2;|unable to dispatch JSP page: The following exception occurred:.
    oracle.jsp.parse.JspParseException:
    Error: Validator com.sun.faces.taglib.jsf_core.CoreValidator reports:
    org.xml.sax.SAXParseException: The prefix "c" for element "c:set" is not bound.
         at oracle.jsp.parse.OracleJsp2Java.reportValidationMsgs(OracleJsp2Java.java:777)
         at oracle.jsp.parse.OracleJsp2Java.invokeValidator(OracleJsp2Java.java:755)
         at oracle.jsp.parse.OracleJsp2Java.checkJspTagLibValidator(OracleJsp2Java.java:653)
         at oracle.jsp.parse.OracleJsp2Java.transformImpl(OracleJsp2Java.java:522)
         at oracle.jsp.parse.OracleJsp2Java.transform(OracleJsp2Java.java:593)
         at oracle.jsp.runtimev2.JspPageCompiler.attemptCompilePage(JspPageCompiler.java:691)
         at oracle.jsp.runtimev2.JspPageCompiler.compileBothModes(JspPageCompiler.java:490)
         at oracle.jsp.runtimev2.JspPageCompiler.parseAndGetTreeNode(JspPageCompiler.java:457)
         at oracle.jsp.runtimev2.JspPageInfo.compileAndLoad(JspPageInfo.java:624)
         at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:645)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:385)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:810)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:734)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
         at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
         at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:807)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:671)
         at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:505)
         at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:476)
         at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:355)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:305)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:546)
         at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
         at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
         at oracle.adfinternal.view.faces.config.rich.RecordRequestAttributesDuringDispatch.dispatch(RecordRequestAttributesDuringDispatch.java:44)
         at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
         at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
         at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
         at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:167)
         at com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:363)
         at com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:154)
         at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.buildView(ViewDeclarationLanguageFactoryImpl.java:341)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:990)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:342)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:236)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)
         at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
         at com.ge.ohr.dm.ui.sessionHandler.GEDMSessionExpiryHandler.doFilter(GEDMSessionExpiryHandler.java:61)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
         at com.ge.ohr.dm.ui.filter.GEDMSecurityFilter.doFilter(GEDMSecurityFilter.java:173)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
    The code which in .jspx page is like;
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns="http://www.w3.org/1999/xhtml">
    <c:set var="gedmuiBundle" value="#{adfBundle['com.ge.ohr.dm.ui.UIBundle']}"/>
    When including the 'xmlns:c="http://java.sun.com/jsp/jstl/core' it shows the error;
    The server encountered an internal error (OracleJSP error: oracle.jsp.parse.JspParseException: <br>Error: Validator com.sun.faces.taglib.jsf_core.CoreValidator reports:<br>org.xml.sax.SAXParseException: The prefix "c" for element "c:set" is not bound.<br>) that prevented it from fulfilling this request.
    Please help me on this.
    Thanks and Regards
    Binsy

    This is an ADF application, so you will probably find more help in the JDeveloper and ADF forum here:
    JDeveloper and ADF
    Best Regards,
    Chris

  • Only one top level element is allowed in an XML document. Line 2, Position 2

    I get this error when I try to run an xsql query with a where clause:
    Only one top level element is allowed in an XML document. Line 2, Position 2
    <font size='-1' face='monospace'>XSQL-005: XSQL page is not well-formed.</font><BR>
    -^
    Here is the xsql query I tried to use.
    <?xml version="1.0"?>
    <xsql:query connection="xmlbook" xmlns:xsql="urn:oracle-xsql">
    select * from companytable where companynumber < 1000;
    </xsql:query>
    null

    You need to escape certain characters in order to make XML documents well formed. The problem in this case is the less than sign between companynumber and 1000. You should replace it with <
    I recommend reading a good XML book - "Building Oracle XML Applications" by Steve Muench, for instance.
    Brian

  • XML document must have a top level element. Error processing resource

    Hi,
    I am trying to send a XML file to a web browser from a servlet. I read the contents of the XML file into a string and I am sending it to the brower. Before I do this I set the 'Content-type' header of the httpResponse to "application/xml" . Embedded in the XML file is an xml-stylesheet elemetn indicating which *.xsl stylesheet to use to parse the XML content.
    I get the following error:
    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.
    XML document must have a top level element. Error processing resource 'http://127.0.0.1:8080/testReplyingXML/xml-to-html.xs...
    Now, if I take the stylesheet element out of the XML string I sent, then the browser stores the content into and *.xml file. I manually run the "xml-to-xsl " stylesheet mentioned in the error output above, and there is no problem, the xml content gets successfully transformed in a viewable HTML .
    It is only when I embed the "stylesheet" element into the XML content that I get this error.
    So the browser is receiveing valid XML.
    I am not sure if the above error is complaining about the XML content I send or the stylesshet .
    Does anyone have an idea of what am I doing wrong?
    For your information here are my servlet code and the XML file:
    servlet:-
    package webapps.testReplyingXML;
    import java.io.BufferedReader;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.FileReader;
    import java.util.Enumeration;
    import java.util.StringTokenizer;
    import java.io.PrintWriter;
    public class ReplyXML extends HttpServlet {
              static int transactionCount = 0;
              public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException ,IOException {
                   String Q_PARAM = "query";
                   String requestString = req.getQueryString();
                   for ( Enumeration en = req.getParameterNames() ; en.hasMoreElements() ; )
         String k = (String)en.nextElement() ;
         String[] x = req.getParameterValues(k) ;
         String s = null;
         String DATA_PARAM= "";
         for(int i = 0 ; i < x.length ; i++ )
         s = x[i] ;
         //System.out.println("s = " + s);
         if (k.equals("query")){
              try {
                             //res.setHeader("Content-Type", "application/xml");
                             //res.setHeader("Transfer-Encoding", "chunked");
                             //res.setHeader("Cache-Control", "no-cache");
                             //res.setHeader("Server", "Jetty/5.1.10");
                             //res.setHeader("Pragma", "no-cache");
                             //res.setHeader("X-Joseki-Server", "Joseki-3.0-dev");
                             res.setStatus(res.SC_OK);
                             StringBuffer fileData = new StringBuffer(1000);
                        BufferedReader reader = new BufferedReader(new FileReader("sparql_results.xml"));
                        char[] buf = new char[1024];
                        int numRead=0;
                        while((numRead=reader.read(buf)) != -1){
                        String readData = String.valueOf(buf, 0, numRead);
                        fileData.append(readData);
                        buf = new char[1024];
                        reader.close();
                        String xmlMsg= fileData.toString();
                        System.out.println("XMLMSG= " + xmlMsg);
                             PrintWriter outresp = res.getWriter();
                             outresp.println(xmlMsg);
                             outresp.close();
              }catch (Exception e) {
                   e.printStackTrace();
              public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
                   doGet(req, res);
    XML FILE:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="xml-to-html.xsl"?>
    <sparql
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xs="http://www.w3.org/2001/XMLSchema#"
    xmlns="http://www.w3.org/2005/sparql-results#" >
    <head>
    <variable name="book"/>
    <variable name="title"/>
    </head>
    <results ordered="false" distinct="false">
    <result>
    <binding name="book">
    <uri>http://example.org/book/book6</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Half-Blood Prince</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book5</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Order of the Phoenix</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book4</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Goblet of Fire</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book3</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Prisoner Of Azkaban</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book2</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Chamber of Secrets</literal>
    </binding>
    </result>
    <result>
    <binding name="book">
    <uri>http://example.org/book/book1</uri>
    </binding>
    <binding name="title">
    <literal>Harry Potter and the Philosopher's Stone</literal>
    </binding>
    </result>
    </results>
    </sparql>

    Error processing resource http://127.0.0.1:8080/testReplyingXML/xml-to-html.xs...
    Well, if one more character had been deleted from that message then you would have a problem. But as it is, the error message says there's an error processing a resouce whose name ends with "xml-to-html.xs" followed by something. That would be the stylesheet if I'm not mistaken. Most likely the browser can't find it at the URL mentioned in the error message.

  • Taglib element not allowed in web.xml conforming to web-app_2_4.xsd ?

    Hello,
    I want to configure taglibs in my web.xml file.
    The beginning of the file looks like this:
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
          version="2.4">I placed the following:      
    <taglib>
        <taglib-uri>/tags/struts-bean</taglib-uri>
        <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>element just after the welcome-file-list element. When I "validate XML" in Netbeans I get :
    cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'. One of '{"http://java.sun.com/xml/ns/j2ee":description, "http://java.sun.com/xml/ns/j2ee":display-name, "http://java.sun.com/xml/ns/j2ee":icon, "http://java.sun.com/xml/ns/j2ee":distributable, "http://java.sun.com/xml/ns/j2ee":context-param, "http://java.sun.com/xml/ns/j2ee":filter, "http://java.sun.com/xml/ns/j2ee":filter-mapping, "http://java.sun.com/xml/ns/j2ee":listener, "http://java.sun.com/xml/ns/j2ee":servlet, "http://java.sun.com/xml/ns/j2ee":servlet-mapping, "http://java.sun.com/xml/ns/j2ee":session-config, "http://java.sun.com/xml/ns/j2ee":mime-mapping, "http://java.sun.com/xml/ns/j2ee":welcome-file-list, "http://java.sun.com/xml/ns/j2ee":error-page, "http://java.sun.com/xml/ns/j2ee":jsp-config, "http://java.sun.com/xml/ns/j2ee":security-constraint, "http://java.sun.com/xml/ns/j2ee":login-config, "http://java.sun.com/xml/ns/j2ee":security-role, "http://java.sun.com/xml/ns/j2ee":env-entry, "http://java.sun.com/xml/ns/j2ee":ejb-ref, "http://java.sun.com/xml/ns/j2ee":ejb-local-ref, "http://java.sun.com/xml/ns/j2ee":service-ref, "http://java.sun.com/xml/ns/j2ee":resource-ref, "http://java.sun.com/xml/ns/j2ee":resource-env-ref, "http://java.sun.com/xml/ns/j2ee":message-destination-ref, "http://java.sun.com/xml/ns/j2ee":message-destination, "http://java.sun.com/xml/ns/j2ee":locale-encoding-mapping-list}' is expected. [53]
    cvc-complex-type.2.3: Element 'web-app' cannot have character [children], because the type's content type is element-only. [71]
    XML validation finished.Indeed, looking at the web-app_2_4.xsd I cannot find a description for the taglib element.
    Where should a put taglibs ? Is it enough to include them in every JSP so I don't need to place them in web.xml ?
    Thank you.
    Vlad.

    web.xml 2.4 uses a <jsp-config> to enclose the
    <tag-lib>
    <jsp-config>
    <tag-lib>
    </tag-lib>
    </jsp-config>I believe that is the syntax. I will check when I get
    to my server comp.You are right. That's how it's done. Thanks a lot for the reply.
    I hope there were good reasons to break compatibility with the old format. There are a lot of examples out there that use the old one. Without knowing the reason for such a change, I find it very annoying.
    Thanks again
    Vlad.

  • Encountering XML-20108: (Fatal Error) Start of root element expected

    Hi,
    We are trying to invoke a XML Publisher report from a custom OAF page using API's. However, it is erroring out with the following error message (in xdo.log)
    [021710_121811671][oracle.apps.xdo.common.xml.XSLTWrapper][EXCEPTION] XSL error:
    <Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected.
    [021710_121811672][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) is called.
    [021710_121811672][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) done. All inputs are cleared.
    [021710_121811673][][EXCEPTION] java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.apps.xdo.common.xml.XSLT10gR1.invokeParse(XSLT10gR1.java:517)
    at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:224)
    at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:177)
    at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
    at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
    at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
    at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1665)
    at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:975)
    at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5936)
    at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459)
    at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548)
    at lxe.oracle.apps.ibu.returnmgmt.server.RmaCreateReturnAMImpl.xxPrintShipLabel(RmaCreateReturnAMImpl.java:1046)
    at lxe.oracle.apps.ibu.returnmgmt.webui.OrderConfirmCo.processFormRequest(OrderConfirmCo.java:167)
    at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:815)
    at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
    at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:815)
    at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
    at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processFormRequest(OAStackLayoutBean.java:370)
    at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:1027)
    at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:993)
    at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:848)
    at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
    at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(OAFormBean.java:395)
    at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:1027)
    at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:993)
    at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:848)
    at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
    at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(OABodyBean.java:363)
    at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(OAPageBean.java:2863)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1840)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:538)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:426)
    at jtfcrmchrome.jspService(_jtfcrmchrome.java:1191)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:379)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
    at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
    at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
    at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: oracle.xdo.parser.v2.XMLParseException: Start of root element expected.
    at oracle.xdo.parser.v2.XMLError.flushErrors1(XMLError.java:337)
    at oracle.xdo.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:343)
    at oracle.xdo.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:285)
    at oracle.xdo.parser.v2.XMLParser.parse(XMLParser.java:289)
    ... 56 more
    The XML is generated from the code and is as below:
    <ShippingLabelVO>
    <ShippingLabelVORow>
    <RowKey>1</RowKey>
    <ShipSentToAddr>XXX Repair Center 125 Technology Parkway Austin, TX</ShipSentToAddr>
    <SerialNum>BC104</SerialNum>
    <OrderNum>8000324</OrderNum>
    <ItemNum>MX7AM-170540</ItemNum>
    </ShippingLabelVORow>
    </ShippingLabelVO>
    I can successfully create the PDF from the desktop using the above XML. When I add the XML file to sample XML (in data definition), I can see the output when I choose Preview.
    But, this is not working from the code.
    Any pointers?
    Thanks,
    Ashish

    Hi,
    We are currently on R12.XDO.B.1 (5.6.3?) Is there a patch we'll need to apply on top of this?
    Is there a workaround for this?
    Thanks,
    Ashish

  • XML-20108: (Fatal Error) Start of root element expected while restarting

    Hi All,
    I am work on OIM with the following configurations
    1)OS for App Server -- Linux
    2)App Server type and version -- Oracle Application Server 10g, version is 10.1.3.1.0
    3)OIM connector pack version -- 9.0.3
    I have restarted the servers and I got the following error message
    08/10/16 08:03:19 Stop process
    08/10/16 08:03:20 Shutting down...
    08/10/16 08:03:36 Start process
    08/10/16 08:08:09 WARNING: ApplicationStateRunning.loadConnectors Exception loading connector xlJMSResourceAdapterModule : Error parsing oc4j-ra.xml at /u01/app/oracle/product/10.1.3.1/OracleAS_1/j2ee/oim/application-deployments/default/xlJMSResourceAdapterModule: Fatal error at line 1 offset 1 in file:/u01/app/oracle/product/10.1.3.1/OracleAS_1/j2ee/oim/connectors/xlJMSResourceAdapterModule/xlJMS ResourceAdapterModule/: .<Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected.
    08/10/16 08:08:09 WARNING: ApplicationStateRunning.loadConnectors Exception loading connector OracleASjms : Error parsing oc4j-ra.xml at /u01/app/oracle/product /10.1.3.1/OracleAS_1/j2ee/oim/application-deployments/default/OracleASjms: Fatal error at line 1 offset 1 in file:/u01/app/oracle/product/10.1.3.1/OracleAS_1/j2ee/oim/connectors/OracleASjms/OracleASjms/: .<Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected.
    Oct 16, 2008 8:08:11 AM org.jgroups.protocols.UDP createSockets
    INFO: sockets will use interface 10.201.50.124
    Oct 16, 2008 8:08:11 AM org.jgroups.protocols.UDP createSockets
    INFO: socket information:
    local_addr=10.201.50.124:46865, mcast_addr=231.184.179.146:45577, bind_addr=/10.201.50.124, ttl=1
    sock: bound to 10.201.50.124:46865, receive buffer size=64000, send buffer size= 32000
    mcast_recv_sock: bound to 10.201.50.124:45577, send buffer size=150000, receive buffer size=80000
    mcast_send_sock: bound to 10.201.50.124:46866, send buffer size=150000, receive buffer size=80000
    Can any one help me out
    Thanks in Advance

    Have you modified the DB adapter wsdl manually ? provide more error details from payload and logs.

  • Error Error oracle.iam.platform.context.ContextManager BEA-000000 IAM-0030007 org.xml.sax.SAXParseException: Line 1, Column 1 : XML-20108: (Fatal Error) Start of root element expected. error in oim logs

    Hi ,
    I am getting the below error at times in oim logs not able to find the reason please help.
    <Error> <oracle.iam.platform.context.ContextManager> <BEA-000000> <IAM-0030007
    org.xml.sax.SAXParseException: <Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected.
        at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:422)
        at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:287)
        at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:414)
        at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:355)
        at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:226)
    <XELLERATE.DATABASE> <BEA-000000> <Class/Method: tcDataBaseClient/bindToInstance encounter some problems: java.lang.ClassNotFoundException: weblogic/jndi/WLInitialContextFactory
    oracle.iam.platform.utils.ServiceInitializationException: java.lang.ClassNotFoundException: weblogic/jndi/WLInitialContextFactory
        at oracle.iam.platform.Platform.getService(Platform.java:265)
        at oracle.iam.platform.OIMInternalClient.getService(OIMInternalClient.java:188)
        at com.thortech.xl.dataaccess.tcDataBaseClient.bindToInstance(tcDataBaseClient.java:151)
        at com.thortech.xl.client.dataobj.tcDataBaseClient.recoverConnection(tcDataBaseClient.java:401)
        at com.thortech.xl.client.dataobj.tcDataBaseClient.getInterface(tcDataBaseClient.java:385)
        at com.thortech.xl.dataaccess.tcDataBaseClient.close(tcDataBaseClient.java:349)
        at com.thortech.xl.server.tcDataBaseClient.close(tcDataBaseClient.java:62)
        at com.thortech.xl.server.tcDataBaseClient.finalize(tcDataBaseClient.java:43
    Caused By: java.lang.ClassNotFoundException: weblogic/jndi/WLInitialContextFactory
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at com.sun.naming.internal.VersionHelper12.loadClass(Ve
    <Class/Method: tcDataBaseClient/getInterface encounter some problems: RuntimeException encountered. Reconnecting!
    java.lang.NullPointerException
        at oracle.iam.platform.context.ContextManager.getCounter(ContextManager.java:697)
        at oracle.iam.platform.context.ContextManager.incrementCounter(ContextManager.java:684)
    <Error> <XELLERATE.DATABASE> <BEA-000000> <Class/Method: tcDataBaseClient/close encounter some problems: Bean has been deleted.
    javax.ejb.NoSuchEJBException: Bean has been deleted.
    Thanks,
    Sahana

    hi Antara
    about "... Though I have imported the following JDK parsers in the code , the Oracle's SAX parser is taking other inside the application server ..."
    If you have used the SAXParserFactory.newSAXParser() method to get a parser, the documentation for this method says "Creates a new instance of a SAXParser using the currently configured factory parameters.".
    So you might get a different parser in a different environment.
    regards
    Jan Vervecken

  • Problem to validate XML document if the type of root element is abstract

    I have the following XML document:
    <?xml version="1.0" encoding="UTF-8"?>
    <ct013/>
    It corresponds to the following XSD Schema:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
         <xs:element name="ct013" type="foo"/>
         <xs:complexType abstract="true" name="foo"/>
         <xs:complexType name="fixedType">
              <xs:complexContent>
                   <xs:restriction base="foo"/>
              </xs:complexContent>
         </xs:complexType>
    </xs:schema>
    Please take attention to the fact that the type of root element of that BDD is abstract.
    XML Schema provides a mechanism to force substitution for a particular element or type. When an element or type is declared to be "abstract", it cannot be used in an instance document. When an element is declared to be abstract, a member of that element's substitution group must appear in the instance document. When an element's corresponding type definition is declared as abstract, all instances of that element must use xsi:type to indicate a derived type that is not abstract.
    Declaring an element as abstract requires the use of a substitution group. Declaring a type as abstract simply requires the use of a type derived from it (and identified by the xsi:type attribute) in the instance document.
    For more information of using abstract types please see chapter 4.7 Abstract Elements and Types of XML Schema Part 0: Primer Second (http://www.w3.org/TR/xmlschema-0/#abstract).
    In this case there is Oracle bug when I try to validate this XML document using Oracle XDK:
    String validate(String xml, String schema)
    throws XSDException, XMLParseException, SAXException, IOException
    System.setPropert("oracle.xml.parser.debugmode", "true");
    XSDValidator xsdValidator = new XSDValidator();
    XMLError xmlError = new XMLError();
    xmlError.setErrorHandler(new DocErrorHandler());
    XMLDocument xmlDocument = parseXMLDocument(xml);
    XMLDocument schemaXMLDocument = parseXMLDocument(schema);
    XMLSchema xmlSchema = (XMLSchema) new XSDBuilder().build(schemaXMLDocument, null);
    xsdValidator.setError(xmlError);
    xsdValidator.setSchema(xmlSchema);
    xsdValidator.validate(xmlDocument);
    return getValidationError(xsdValidator);
    I get the following error:
    Can't find resource for bundle oracle.xml.mesg.XMLResourceBundle, key XSD-2046.
    I tried to validate this XML document using two other libraries - XSD Schema Validator (http://apps.gotdotnet.com/xmltools/xsdvalidator/Default.aspx) and xsdvalid-29 (http://www.w3.org/XML/Schema#XSDValid). Both libraries pointed me on the error that the type of root element is abstract and it cannot be used for doing validation.
    I think that Oracle should return me explaining message but not to throw exception.
    Am I right? Is there really Oracle bug or I miss something?
    Any help, hits, advices would be gratfully apriciated.

    Define Element1 as follows:
    <xs:element name="Element1">
    <xs:complexType>
    <xs:complexContent>
    <xs:restriction base="xs:string"/>
    </xs:complexContent>
    </xs:complexType>
    </xs:element>
    Does the XML document get validated if the element is specified as
    <Element1></Element1>

  • JAXB Flags an Error in XML Doc Related to a Choice of Elements

    With a fairly complex DTD, an error results when JAXB unmarshalls a valid XML document. Here is the relevant DTD fragment:
    <!ELEMENT Declaration (Variable+, (typeList | Drelation))>
    The elements Variable and Drelation are complex, and contain other elements. Element typeList contains only #PCDATA. If Varaible is followed by Drelation, everything is fine, but if Variable is follwed by typeList, then unmarshall reports the following error:
    Exception in thread "main" javax.xml.bind.UnrecognizedElementNameException: typeList
    I know there is not a real error, because I have validated the XML document against the DTD using Xeena, from IBM's Alphaworks.

    By way of additional information, I tried to circumvent the problem with the following change.
    <!ELEMENT Declaration (Variable+, DecType)>
    <!ATTLIST Declaration dpower (PowerSet) #IMPLIED>
    <!ELEMENT DecType (typeList | Drelation)>
    Now, each element is either a sequence or a choice, but not both. The result was the same problem. The unmarshall reports the same error when it gets to the DecType element, saying the typeList element is unexpected. Again, IBM's Xeena tool reports that the XML document is valid for the DTD.
    Here is the relevant XML fragment.
    <Declaration dpower="PowerSet">
    <Variable> members </Variable>
    <DecType> <typeList> Person </typeList> </DecType>
    </Declaration>
    Is this a JAXB error?

  • XML document must have a top level element. Error

    Hi, I am trying to generate an XML. Below is a sample code from my function. The function generates a 0 byte file which when I try to open gives me 'xml document must have a top level element' error. Any ideas?
    FUNCTION generateXml(    p_1      VARCHAR2,
                             p_2      VARCHAR2,
                             p_3      VARCHAR2
                             ) RETURN CLOB
    IS
        ctx dbms_xmlgen.ctxHandle;
        xml CLOB;
        v_sql varchar2(2000);
    BEGIN
    lv_sql:=' select * from v_dc where rownum =1';
    ctx := dbms_xmlgen.newContext(v_sql);
    dbms_xmlgen.setRowSetTag(ctx, 'CONTENT');
    xml := dbms_xmlgen.getXML(ctx);
    return xml;
    END;
    END generateXml;

    I just need to understand if we can generate XML from a sql that has sub-queries in it.Should be no problem:
    SQL> create or replace function generatexml (p_1 varchar2, p_2 varchar2, p_3 varchar2)
      return clob
    is
      ctx     dbms_xmlgen.ctxhandle;
      xml     clob;
      v_sql   varchar2 (2000);
    begin
      v_sql := ' select * from dept left outer join (select * from emp) emp on (emp.deptno = dept.deptno) where rownum = 1';
      ctx := dbms_xmlgen.newcontext (v_sql);
      dbms_xmlgen.setrowsettag (ctx, 'CONTENT');
      xml := dbms_xmlgen.getxml (ctx);
      dbms_xmlgen.closecontext (ctx);
      return xml;
    end generatexml;
    Function created.
    SQL> select generatexml (null, null, null) xml from dual
    XML                                                                            
    <?xml version="1.0"?>                                                          
    <CONTENT>                                                                      
    <ROW>                                                                         
      <DEPTNO>10</DEPTNO>                                                          
      <DNAME>ACCOUNTING</DNAME>                                                    
      <LOC>NEW YORK</LOC>                                                          
      <EMPNO>7782</EMPNO>                                                          
      <ENAME>CLARK</ENAME>                                                         
      <JOB>MANAGER</JOB>                                                           
      <MGR>7839</MGR>                                                              
      <HIREDATE>09.06.81</HIREDATE>                                                
      <SAL>2450</SAL>                                                              
      <DEPTNO>10</DEPTNO>                                                          
    </ROW>                                                                        
    </CONTENT>                                                                     
    1 row selected.Maybe your query simply doesn't return any rows?

  • B2B-50029:  B2B runtime error: oracle.xml.parser.v2.XMLParseException: Start of root element expected.

    Dear All,
    I am a beginner to Oracle B2B.
    I have created an agreement to Recieve 852, Product Activity data(POS) from one of the Trading partner. This is an inbound process.
    A  SOA composite application is created to Recieve the data and insert into perticular columns of the database table using database adapter.
    I have tested the Interface with some couple of file and it went perfect without any error. Now I have to test the interface with some other files.
    This time also I am not getting any error in Business Message, Wire message and Application message but the composite application is not picked.
    The log file shows : B2B-50029: B2B runtime error: oracle.xml.parser.v2.XMLParserException: Start of root element expected.
    Please let me know if anyone has faced this issue. it will be of great help.
    Thanks,
    Abhas Kushwaha

    Hello,
    Just a thought, When I had the similar problem, it appeared to be a BOM (Byte order mark - Wikipedia, the free encyclopedia) in the xml file, which is the very first character in the xml file, so the file was not identified to be a valid xml file. Removing the BOM from the xml file fixed my problem, however, I did not spend much time in fixing using B2B, the vendor  (sender of the file) fixed the file and started sending without BOM. So my work was easier.
    The character is not visible in all XML editors, however, it was visible in JDeveloper. I used a tool to identify and remove during testing until the vendor fixed the file, the tool is called file bom detector,http://www.bryntyounce.com/filebomdetector.htm
    Hope this helps,
    Thanks,
    Venkatesh

  • XML-20108: (Fatal Error) Start of root element expected. - jdev 11.1.2.3

    Hello:
    I created a simple ADF Fusion Web app using HR schema based on Employees table.
    I am trying to get Contextual Events working and I did the following:
    Created two taskflows: TaskFlowA and TaskFlowB. TaskFlowA has a form based on employees and TaskFlowB has a table based on employees.
    Run the page and everything works.
    Now, in the property inspector based on the submit button, I added a contextual event to publish the event.
    Attempt to run the page again and I receive compile error:
    \WEB-INF\temp\adf\styles\cache\fusionFx-v2-1-desktop-pr245v-ltr-ie-7.0-cmp.css
    Error(1,1): <Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected.
    Any ideas to prevent/fix this problem?
    Thanks much
    Edited by: 966952 on Apr 9, 2013 5:51 AM

    As a temporary solution you could add below lines in the xml file
    <?xml version="1.0" encoding="UTF-8" ?>
    <test>
    </test>
    See, the link for more info: http://adfhowto.blogspot.in/2011/05/utility-to-remove-once-and-for-all-rdf.html

Maybe you are looking for

  • Apple TV and Time Capsule whith computer off

    I want to use the Time Capsule's hard disk for my documents and iTunes library (wifi access from all my computers). I would like to by an ATV to play my music and movies, but i would like to do it with the main computer off. Is it possible, or i need

  • Variable initialized with wrong message type

    Hi, I have a BPEL process variableA of Message type A as defined in the partnerlink WSDL file. This variable get initialized during operation A from the partnerlink. The WSDL has another message type B defined for another operation B. During runtime

  • Body and Attachment both in a mail

    Hi, I am working to send a mail from XI. My present scenarion is like this: I am using xslt mapping to generate code for a html page using source and using dumy target. Now I am using module adapter "localejbs/AF_Modules/MessageTransformBean" for get

  • Why i can't download pages

    why Pages can't be download on Macbook Air OS X 10.8.5 and pages needs 10.9 when both systems had been updated recently ( >:-S) ... any other good word processor on the AppStore?

  • Some Basics

    Hi All, Can you please define the following terms, just the basic definitions.It will help me lot for the furthur research. WIP Backflushing components. Operation pull,Push Assembly Pull,Push Discrete Jobs and Lot based jobs. Standard jobs and Non-St