Creating New XML using xPath

Hi,
I wanted to know if an XML Document created in the Database using xPaths. I mean, I don't want to creat any XML file on the OS in the first place. I want to create an XML using a table containing xPaths. Can this be done in XDB ?
Thanks in Advance,
Piyush

Hi Piyush
I don't see how you can create a XML document via xpath!?!? xpath it's only used to reference data in an XML document...
Chris

Similar Messages

  • How to create new XML file using retreived XML content by using SAX API?

    hi all,
    * How to create new XML file using retreived XML content by using SAX ?
    * I have tried my level best, but output is coming invalid format, my code is follows,
    XMLFileParser.java class :-
    import java.io.StringReader;
    import java.io.StringWriter;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMResult;
    import javax.xml.transform.sax.SAXSource;
    import javax.xml.transform.sax.SAXTransformerFactory;
    import javax.xml.transform.sax.TransformerHandler;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.XMLFilterImpl;
    public class PdfParser extends XMLFilterImpl {
        private TransformerHandler handler;
        Document meta_data;
        private StringWriter meta_data_text = new StringWriter();
        public void startDocument() throws SAXException {
        void startValidation() throws SAXException {
            StreamResult streamResult = new StreamResult(meta_data_text);
            SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
            try
                handler = factory.newTransformerHandler();
                Transformer transformer = handler.getTransformer();
                transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                handler.setResult(streamResult);
                handler.startDocument();
            catch (TransformerConfigurationException tce)
                System.out.println("Error during the parse :"+ tce.getMessageAndLocation());
            super.startDocument();
        public void startElement(String namespaceURI, String localName,
                String qualifiedName, Attributes atts) throws SAXException {
            handler.startElement(namespaceURI, localName, qualifiedName, atts);
            super.startElement(namespaceURI, localName, qualifiedName, atts);
        public void characters(char[] text, int start, int length)
                throws SAXException {
            handler.characters(text, start, length);
            super.characters(text, start, length);
        public void endElement(String namespaceURI, String localName,
                String qualifiedName) throws SAXException {
            super.endElement("", localName, qualifiedName);
            handler.endElement("", localName, qualifiedName);
        public void endDocument() throws SAXException {
        void endValidation() throws SAXException {
            handler.endDocument();
            try {
                TransformerFactory transfactory = TransformerFactory.newInstance();
                Transformer trans = transfactory.newTransformer();
                SAXSource sax_source = new SAXSource(new InputSource(new StringReader(meta_data_text.toString())));
                DOMResult dom_result = new DOMResult();
                trans.transform(sax_source, dom_result);
                meta_data = (Document) dom_result.getNode();
                System.out.println(meta_data_text);
            catch (TransformerConfigurationException tce) {
                System.out.println("Error occurs during the parse :"+ tce.getMessageAndLocation());
            catch (TransformerException te) {
                System.out.println("Error in result transformation :"+ te.getMessageAndLocation());
    } CreateXMLFile.java class :-
    Sax.startDocument();
    Sax.startValidation();
    Sax.startElement("", "pdf", "pdf", new AttributesImpl());
    Sax.startElement("", "basic-metadata", "basic-metadata", new AttributesImpl());          
    String xmp_str = new String(meta_data.getByteArray(),"UTF8");
    char[] xmp_arr = xmp_str.toCharArray();
    Sax.characters(xmp_arr, 0, xmp_arr.length);
    Sax.endElement("", "pdf", "pdf");
    Sax.endValidation();
    Sax.endDocument();
    Sax.endElement("", "basic-metadata", "basic-metadata");* In CreateXMLFile.java
    class, I have retreived the xml content in the meta_data object, after that i have converted into character array and this will be sends to SAX
    * In this case , the XML file created successfully but the retreived XML content added as an text in between basic-metadata Element, that is, retreived XML content
    is not an XML type text, it just an Normal text Why that ?
    * Please help me what is the problem in my code?
    Cheers,
    JavaImran

    Sax.startDocument();
    Sax.startValidation();
    Sax.startElement("", "pdf", "pdf", new AttributesImpl());
    Sax.startElement("", "basic-metadata", "basic-metadata", new AttributesImpl());          
    String xmp_str = new String(meta_data.getByteArray(),"UTF8");
    char[] xmp_arr = xmp_str.toCharArray();
    Sax.characters(xmp_arr, 0, xmp_arr.length);
    </code><code>Sax.endElement("", "basic-metadata", "basic-metadata");</code>
    <code class="jive-code jive-java">Sax.endElement("", "pdf", "pdf");
    Sax.endValidation();
    Sax.endDocument();     
    * I HAVE CHANGED MY AS PER YOUR SUGGESTION, NOW SAME RESULT HAS COMING.
    * I AM NOT ABLE TO GET THE EXACT OUTPUT.,WHY THAT ?
    Thanks,
    JavaImran{code}

  • SAX: How to create new XML file using SAX parser

    Hi,
    Please anybody help me to create a XML file using the Packages in the 5.0 pack of java. I have successfully created it reading the tag names and values from database using DOM but can i do this using SAX.
    I am successful to read XML using SAX, now i want to create new XML file for some tags and its values using SAX.
    How can i do this ?
    Sachin Kulkarni

    SAX is a parser, not a generator.Well,
    you can use it to create an XML file too. And it will take care of proper encoding, thus being much superior to a normal textwriter:
    See the following code snippet (out is a OutputStream):
    PrintWriter pw = new PrintWriter(out);
          StreamResult streamResult = new StreamResult(pw);
          SAXTransformerFactory tf = (SAXTransformerFactory) TransformerFactory.newInstance();
          //      SAX2.0 ContentHandler.
          TransformerHandler hd = tf.newTransformerHandler();
          Transformer serializer = hd.getTransformer();
          serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");//
          serializer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"pdfBookmarks.xsd");
          serializer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"http://schema.inplus.de/pdf/1.0");
          serializer.setOutputProperty(OutputKeys.METHOD,"xml");
          serializer.setOutputProperty(OutputKeys.INDENT, "yes");
          hd.setResult(streamResult);
          hd.startDocument();
          //Get a processing instruction
          hd.processingInstruction("xml-stylesheet","type=\"text/xsl\" href=\"mystyle.xsl\"");
          AttributesImpl atts = new AttributesImpl();
          atts.addAttribute("", "", "someattribute", "CDATA", "test");
          atts.addAttribute("", "", "moreattributes", "CDATA", "test2");
           hd.startElement("", "", "MyTag", atts);
    String curTitle = "Something inside a tag";
              hd.characters(curTitle.toCharArray(), 0, curTitle.length());
        hd.endElement("", "", "MyTag");
          hd.endDocument();
    You are responsible for proper nesting. SAX takes care of encoding.
    Hth
    ;-) stw

  • Write XML using XPath

    Hi,
    I have a problem. I need to WRITE a XML using XPath.
    Supose that XPath String : "/clients/client/name"
    Equivalent XML :
    <clients>
    <client>
    <name></name>
    </client>
    <clients>
    Please, helpme ...
    The XPath Strings are dinamic, there are lot of combinations.
    Is there an API (free ?) that support this ?
    Thankz

    Normally XPath is used for searching existing XML documents, not for creating new ones. So it's unlikely that anything exists to do what you ask. But not impossible, people do the strangest things. Have you searched Google?
    Of course you realize you can't use arbitrary XPath expressions here, for example what would you do with a predicate?

  • Count multiple nodes in XML using xPath

    Hi',
    How to count the CUSTSERIAL node in the below XML using xPath.
    <missingICCRec>
    <MissingField xmlns="http://www.Google.com/MissingFields/v1.0">
    <CUSTSERIAL xmlns="http://Google.com/InboundService">23809002RN</CUSTSERIAL>
    <CUSTSERIAL xmlns="http://Google.com/InboundService">23809003RN</CUSTSERIAL>
    <CUSTSERIAL xmlns="http://Google.com/InboundService">23809004RN</CUSTSERIAL>
    </MissingField>
    </missingICCRec>
    Thanks
    Yatan

    Yatan,
    I created a simple BPEL with assign to count the node. Using ora:countNodes() function is throwing exception but when i tried with count() it works.
    XSD seems to be valid. Only you need to have the function as below.
    count(bpws:getVariableData('inputVariable','payload','/client:process/client:missingICCRec/client:MissingField/client:CUSTSERIAL'))
    XSD Used:
    <?xml version="1.0" encoding="UTF-8"?>
    <schema attributeFormDefault="unqualified" elementFormDefault="qualified"
    targetNamespace="http://xmlns.oracle.com/PIMtoRPASAmendment/BPLENodeCount/BPLENodeCount"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="process">
    <complexType>
    <sequence>
    <element name="missingICCRec">
    <complexType>
    <sequence>
    <element name="MissingField">
    <complexType>
    <sequence>
    <element name="CUSTSERIAL" maxOccurs="unbounded" type="string"/>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    </element>
    <element name="processResponse">
    <complexType>
    <sequence>
    <element name="result" type="string"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    This works !!!
    Please let me know if this helps.
    Thanks,
    Vijay

  • Creating new file using report generation express vi

    Hello,
    In my application, I need to write certain data in excel sheet. For that I created an excel template and I used the express vi in report generation toolkit to save the appropriate data in appropritate columns. I need a new file created everyday by that day's name and write the data to it rest of the day. I am having problems creating new file using this express vi. I tried using the low level vi's but not been able to it properly.
    Attaching my code and excel template.
    Please help.
    Thanks!
    Solved!
    Go to Solution.
    Attachments:
    excel write2.vi ‏119 KB
    Book2111.xltx ‏8 KB

    r_te wrote:
    The thing is everyday there cannot be a file provided.
    Sure there can.  Don't you see the input on the Express VI for a file? "Path To Save Report" is the name of the input you want.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Creating new services using ORADIM utility

    Hi,
    i have Oracle 11g R1 on windows XP service pack 3 platform.
    i am having some issue while creating new services using ORADIM utility.
    The Errors are:
    18:13:28 SYS@vik 24-MAY-11> host oradim -delete -sid vik
    Instance deleted.
    18:13:52 SYS@vik 24-MAY-11> host oradim -new -sid vik -intpwd oracle -startmode A -maxusers 100 -pfile D:\app\vikash.chauradia\product\11.1.0\db_1\database\initvik.ora -timeout 60
    OPW-00005: File with same name exists - please delete or rename
    Instance created.
    Error while deleting value, OS Error = 2
    Can anyone please help me to fiinf the solution?
    Thanks and regards,
    Vikash Chauradia(DBA Trainee)

    Vikash Chauradia(Junior DBA) wrote:
    Hi,
    i have Oracle 11g R1 on windows XP service pack 3 platform.
    i am having some issue while creating new services using ORADIM utility.
    The Errors are:
    18:13:28 SYS@vik 24-MAY-11> host oradim -delete -sid vik
    Instance deleted.
    18:13:52 SYS@vik 24-MAY-11> host oradim -new -sid vik -intpwd oracle -startmode A -maxusers 100 -pfile D:\app\vikash.chauradia\product\11.1.0\db_1\database\initvik.ora -timeout 60
    OPW-00005: File with same name exists - please delete or rename
    Instance created.
    Error while deleting value, OS Error = 2
    check for the files in ORACLE_HOME/database. You have dropped existing instance and creating service again, move all the files to other folder then create using ORADIM

  • Creating new Positions using RH_CREATE_POSITIONS?

    Hi
    I tried to use the RFC rh_create_positions to create new positions using C#. But
    i get an error:"Screen output without connection to user".
    Well is there any work around for it or is there any other RFC/BAPI i can use to create positions under an org unit.
    any suggestions are welcome!!!!!
    thanks

    Yes, the BAPI doesn't create the position ID.  You need three tables to be populated for update
    1. hr_object_header - one entry for entire update
    2. hr_infotype_header - one entry for each infotype record update
    3. pd_object - required if you have IT1000 in hr_infotype_header
    4. pd_object_relationships - required if you have IT1001 in hr_infotype header
    Similarly all other tables need update based on records on hr_infotype_header.
    Regards

  • I created new responsability using seeded menu 'Manager Self Service'it give me that'select action' no selected action

    i created new responsability using seeded menu 'Manager Self Service'  which is assigned to seded responsability  'Manager Self-Service', when i try  to open any  function like 'change job' it give me that there are no  selected actions although it works with the seeded responsability.

    Hi Steven,
    Please create a quota template named "Personal site" and apply in self service site creation page, then check again.
    http://blogs.msdn.com/b/jimmiet/archive/2012/07/22/10332361.aspx
    http://danmyhre.wordpress.com/2010/03/16/my-sites-do-not-have-a-quota-when-they-are-created/
    Thanks
    Daniel Yang
    TechNet Community Support

  • Creating XML using XPath

    Hello,
    I want to creat XML document using Dom and XPath, as per my knowledge goes I can't create it using XPath {I may b wrong, if I am then pls tell me know :-) }.
    If there doesn't exists any thing like this I am thinkin of wrapping a class {say its XPathProcesserDom} which takes the XPath querry and internaly creates XML Document and returns on request. Is this a good idea :-)
    waiting for comments :-)....
    thanks and regards,
    MaheshPujari

    Hi Piyush
    I don't see how you can create a XML document via xpath!?!? xpath it's only used to reference data in an XML document...
    Chris

  • Creating new xml document

    Hi
    there are many samples about reading results into xml, but how can the oracle xml parser be used to create a xml document (String) from the scratch?
    Thanks a lot for suggestions
    Daniel

    Thanks , but i know all this !
    File corFile = new File("e:\\corFile.xml");
    DOMParser dp=new DOMParser();
    InputStream is = new FileInputStream(corFile);
    XMLDocument root=XMLHelper.parse(is,null);
    is.close();
    Element hello = root.createElement("hello");
    Text bonjour = root.createTextNode("Bonjour");
    hello.appendChild(bonjour);
    root.appendChild(hello);
    i know how i can update the XMLDocument ,
    but how i can update my file corFile.xml ??
    i would create a new xml file from my new XMLDocument !

  • Read xml using xpath in java

    Hi ALL,
    I have a xml as follows:
    <AAA>
    <BBB>
    <CCC>xyz</CCC>
    <DDD>abc</DDD>
    </BBB>
    </AAA>
    Now using any of the java class, i just need read the value of "CCC" as follows:
    (i.e using xpath i need to read the value)
    String val = x.somemethod("/AAA/BBB/CCC");
    Thanks!

    In case you're curious - here's the dom4j equivalent of dvohra09's sample code.
    SAXReader saxReader = new SAXReader("org.apache.xerces.parsers.SAXParser");
    Document doc = saxReader.read(source); //Where source is your file, input source, input stream, reader, or url
    String value = doc.valueOf("//AAA/BBB/CCC"); //Result given the xml from OP = 'xyz'OK - not much difference with this simple example but if you haven't settled on an API, dom4j is worth looking at (IMHO).
    &#8734; brewman &#8734;

  • Creating new XML Db Web Service

    Hello All,
    I have to create a new XML DB webservice. I did follow the below oracle documentation and could create the service. But when I tired to run the XQUERY, to get the information about the service I just added,
    1) I could see only part of the output.
    2) I need to add this output to "xdbconfig.xml". But I dont see this file on my database server.
    I am sure that the XDB is configured on this database. I do see following lines in alertlog, when we bounced the database recently, which confirms the XDB is configured.
    Tue Nov 29 17:53:17 2011
    XDB installed.
    XDB initialized.
    Tue Nov 29 17:53:43 2011
    Not sure what happened to the xdbconfig.xml. Please see below command I used to create Web Service and XQUERY.
    DECLARE
    SERVLET_NAME VARCHAR2(32) := 'WDD_XML';
    BEGIN
    DBMS_XDB.deleteServletMapping(SERVLET_NAME);
    DBMS_XDB.deleteServlet(SERVLET_NAME);
    DBMS_XDB.addServlet(NAME => SERVLET_NAME,
    LANGUAGE => 'C',
    DISPNAME => 'Oracle Query Web Service',
    DESCRIPT => 'Servlet for issuing queries as a Web Service',
    SCHEMA => 'XDB');
    DBMS_XDB.addServletSecRole(SERVNAME => SERVLET_NAME,
    ROLENAME => 'XDB_WEBSERVICES',
    ROLELINK => 'XDB_WEBSERVICES');
    DBMS_XDB.addServletMapping(PATTERN => '/WDD_XML/*',
    NAME => SERVLET_NAME);
    END;
    XQUERY declare default element namespace "http://xmlns.oracle.com/xdb/xdbconfig.xsd";
    for $doc in fn:doc("/xdbconfig.xml")/xdbconfig/sysconfig/protocolconfig/httpconfig/
    webappconfig/servletconfig/servlet-list/servlet[servlet-name='WDD_XML']
    return $doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm
    Thanks,
    KRMR.

    Hi,
    2) I need to add this output to "xdbconfig.xml". But I dont see this file on my database server.It's located at the root of the XML DB repository, in the database.
    You don't edit it directly.
    The truncated output is an SQL*Plus issue, most likely.
    I guess you have something like this :
    SQL> XQUERY declare default element namespace "http://xmlns.oracle.com/xdb/xdbconfig.xsd"; (: :)
      2         for $doc in fn:doc("/xdbconfig.xml")/xdbconfig/sysconfig/protocolconfig/httpconfig/
      3          webappconfig/servletconfig/servlet-list/servlet[servlet-name='orawsv']
      4         return $doc
      5  /
    Result Sequence
    <servlet xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd">
      <servlet-name>orawYou need to set the LONG parameter to a sufficient amount first :
    SQL> set long 500
    SQL> set pagesize 100
    SQL> XQUERY declare default element namespace "http://xmlns.oracle.com/xdb/xdbconfig.xsd"; (: :)
      2         for $doc in fn:doc("/xdbconfig.xml")/xdbconfig/sysconfig/protocolconfig/httpconfig/
      3          webappconfig/servletconfig/servlet-list/servlet[servlet-name='orawsv']
      4         return $doc
      5  /
    Result Sequence
    <servlet xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd">
      <servlet-name>orawsv</servlet-name>
      <servlet-language>C</servlet-language>
      <display-name>Oracle Query Web Service</display-name>
      <description>Servlet for issuing queries as a Web Service</description>
      <servlet-schema>XDB</servlet-schema>
      <security-role-ref>
        <description/>
        <role-name>XDB_WEBSERVICES</role-name>
        <role-link>XDB_WEBSERVICES</role-link>
      </security-role-ref>
    </servlet>

  • Unable to create new query using query manager

    Hi friends,
    I have been trying to create a query using query manager for couple of hours but still not able to.I am following the instructions given in oracle Peopletools 8.52 : Peoplesoft query
    Chapter - creating new queries.
    Below are the steps I am going through to create new query:
    Step - I open the component Reporting Tools-> Query->Query Manager , I don't get the tabbed pages one for search an existing query and another for create new query.
    Please follow this link to see how the page is displayed in first step:
    http://uploadpic.org/v.php?img=EvMvVAXX1E
    Step 2 - When I click on create new query link, I am redirected to a page where it asks for record name to add in the query. But, even this page is not displayed as how it supposed to be
    http://uploadpic.org/v.php?img=GzHh3f6krU
    Step 3 - Following the above step, when I click on Person record to add into my query I am asked to select the fields that I want to display in the output.
    But I somehow do not get the proper tabbed pages where individual pages are there to add the attributes to complete the query like adding multiple records, fields, query, expressions, prompt...etc
    http://uploadpic.org/v.php?img=Wbbla3Q3jE
    I am neither able to select multiple records in my query nor able to customize my query to get the desired results.
    Below is the query that I want to create using query manager:
    SELECT P.EMPLID,P.BIRTHDATE, N.NAME, A.ADDRESS1, A.ADDRESS2, A.CITY
    FROM PS_PERSON P, PS_NAMES N, PS_ADDRESSES A
    WHERE P.EMPLID = N.EMPLID AND
    N.EMPLID = A.EMPLID AND
    P.BIRTHDATE BETWEEN to_date('1990/1/1','yyyy/mm/dd') and to_date('1991/1/1','yyyy/mm/dd');

    Hi,
    As I cannot access your screenshot by the blocking of company firewall rules.
    I'm guessing currently you are using PT 8.52.00 version, correct?
    This should be a bug, that you need to apply the 8.52.0X patch, not sure which patch fix this, you can apply the latest one to solve this issue for no tab page of query manager. (PT 8.52.06)
    Hope this helps.
    Thanks,
    Saxon SI

  • Problem in creating new field using AET

    Hi ,
    We are facing a problem while creating a new field using AET.
    [http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3414900)ID0190611650DB01471683520393954021End?blog=/pub/wlg/12716]
    Im following this blog while creating the new field using AET.
    After filling all the field details and trying to create a Transport request its going for a runtime error.
    The error is happening in class  CL_CRM_GENIL_AXT_API
    method get_editable_properties.
      data lr_field_ext type ref to cl_genil_field_extension.
      field-symbols <axt_field_extension> type gtype_field_extension.
      data lr_fieldext_ref type ref to if_axt_field_ext_access.
      read table axt_field_extension_tab assigning <axt_field_extension> with key ext_bo       = is_key-ext_bo
                                                                              ext_bo_part  = is_key-ext_bo_part
                                                                              extension_id = is_key-extension_id.
      lr_field_ext = <axt_field_extension>-axt_extension.
      if sy-subrc = 0.
    While Debugging we can see that the table axt_field_extension_tab  is having zero values during the last execution.
    But the Zfield is getting generated and the status is in green.
    Any suggestions will be highly appreciated.
    Regards,
    Sijo.
    Edited by: sijokjohn85 on Sep 9, 2009 1:00 PM
    Edited by: sijokjohn85 on Sep 10, 2009 12:49 PM

    Hi,
    you posted the same question again in a later post.
    Here is my answer:
    Hi,
    the reason that AET does not work is because there is/are missing entries in one of DB table.
    Namely the enhance BO assignment to the UI Object Type.
    Could you please tell me, what is the UI Object Type in you current IC application.
    In order to figure this out, you can put mouse cursor in one of the field in the UI and then press F2.
    Then you can go to SM30 in SAP GUI open the View BSPDLCV_OBJ_TYPE and search for the UI object type.
    Select the UI object type and see whether any enhanced BO is defined.
    In your case it should be empty, otherwise you can use AET in IC.
    And if it is empty we need to figure out which enhanced BO is relevant for the given UI Object Type.
    Regards,
    Steve
    P.S. But still you can raise a CSN message.
    The "Create New Field" should be in active mode.

Maybe you are looking for