Lining Up XML Elements for Input

I am transforming an XML document into the proper canonical format for inputting into our Oracle database. I am able to change the attributes into elements. However, when I do so I can't get the new elements to line up in the proper canonical format for insert. Being new, they want to line up flush with the left margin. Is there a way to make them even with the equal level elements?
XSL:
<DCCONTROLS>
<xsl:apply-templates/>
</DCCONTROLS>
</xsl:template>
<xsl:template match="//Geopotential">
<xsl:element name="GEOPOTENTIAL">
<xsl:value-of select="node()"/>
</xsl:element>
<xsl:element name="ZONAL">
<xsl:value-of select="@zonal"/>
</xsl:element>
<xsl:element name="TESSERAL">
<xsl:value-of select="@tesseral"/>
</xsl:element>
</xsl:template>
<xsl:template match="//AtmoModelDrag">
<ATMOMODELDRAG>
<xsl:value-of select="node()"/>
</ATMOMODELDRAG>
</xsl:template>
output XML:
<DCCONTROLS>
<GEOPOTENTIAL>EGM-96</GEOPOTENTIAL>
<ZONAL>36</ZONAL>
<TESSERAL>36</TESSERAL>
<ATMOMODELDRAG>JAC70/MSIS90</ATMOMODELDRAG>
</DCCONTROLS>
As you can see, ZONAL and TESSERAL don't line up properly. I would appreciate any suggestions as I've tried about everything I can think of. Thank you.

The whitespace (i.e. indenting) is unimportant for the canonical format, just the correct nested element structure.
Also, there is no need to use the "//" at the beginning of the match pattern in your <xsl:template> it's already understood that this will match a <Geopotential> element wherever it occurs.
null

Similar Messages

  • Set xml element for table

    Hi guys,
    I am new to indesign scripting using applescript.
    my code is shown in below, my problem is can't set xml element for table
    tell application "Adobe InDesign CS6"
            tell active document
                set rootele to associated XML element of story 1
                if rootele = nothing then
                    set rootele to XML element 1
                end if
                tell story 1
                    select text 1
                    set markup tag of selection to "table" -----------------> this is my problem please help me.
                              end tell
            end tell
        end tell
    this code is right or not. please help me.

    The metadata about the table mappings are also stored in the compiled XML Schema document. If you lookup the schema document located at /sys/schemas/.... , you will see that the element with SQLInline=false will have a xdb:defaultTable attribute which provides the name of the table used to store the element.
    - Ravi

  • XML format for input to BPEL process from client stub

    Hi,
    I have deployed SyncHelloWorld BPEL process as given in the tutorial in the BPEL Server. It is working fine. Now I am trying to invoke the process by creating a Java client stub . I created a stub using the Web-services wizard by specifying the WSDL of the BPEL. Now I want to know how to pass some string through XML document to the BPEL process.
    I am using this code in the main method of the stub., but the value is not being passed to the BPEL nodes correctly. the output I am getting is "Hello "
    and not "Hello XYZString". I think I am not able to form the XML document to pass as input correctly. Can anyone help.
    Can anyone please help :
    public static void main(String[] args)
    try
    SyncHelloWorldStub stub = new SyncHelloWorldStub();
    // Add your own code here.
    // Create an empty XML document
    XMLDocument doc = new XMLDocument();
    // Create an element
    Element body = doc.createElementNS("http://xmlns.oracle.com/SyncHelloWorld", "SyncHelloWorldProcessRequest");
    // Create the inner element
    Element ip = doc.createElementNS("http://xmlns.oracle.com/SyncHelloWorld", "input");
    // Create a text node
    Text text = doc.createTextNode("input");
    // Set the input parameter
    text.setNodeValue("XYZString");
    ip.appendChild(text);
    body.appendChild(ip);
    // Call the process. It returns a vector
    Vector v = stub.process(body);
    // Code to print the returned xml.
    System.out.println("Received " + v.size() + " element");
    Enumeration enum = v.elements();
    // Walk through the vector and print out contents
    while (enum.hasMoreElements())
    Object o = enum.nextElement();
    System.out.println("Returned a " + o.getClass().getName());
    //If it is an element, print it out
    if (o instanceof XMLElement)
    XMLElement xml = (XMLElement)o;
    xml.print(System.out);
    else
    System.out.println("Returned " + o.toString());
    System.out.println("After executing : "+v.toString());
    catch(Exception ex)
    ex.printStackTrace();
    This is the code for WSDL file for the BPEL process.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions name="SyncHelloWorld" targetNamespace="http://xmlns.oracle.com/SyncHelloWorld" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/SyncHelloWorld" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/SyncHelloWorld">
    - <types>
    - <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/SyncHelloWorld" xmlns="http://www.w3.org/2001/XMLSchema">
    - <element name="SyncHelloWorldProcessRequest">
    - <complexType>
    - <sequence>
    <element name="input" type="string" />
    </sequence>
    </complexType>
    </element>
    - <element name="SyncHelloWorldProcessResponse">
    - <complexType>
    - <sequence>
    <element name="result" type="string" />
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    - <message name="SyncHelloWorldRequestMessage">
    <part name="payload" element="tns:SyncHelloWorldProcessRequest" />
    </message>
    - <message name="SyncHelloWorldResponseMessage">
    <part name="payload" element="tns:SyncHelloWorldProcessResponse" />
    </message>
    - <portType name="SyncHelloWorld">
    - <operation name="process">
    <input message="tns:SyncHelloWorldRequestMessage" />
    <output message="tns:SyncHelloWorldResponseMessage" />
    </operation>
    </portType>
    - <binding name="SyncHelloWorldBinding" type="tns:SyncHelloWorld">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="process">
    <soap:operation style="document" soapAction="process" />
    - <input>
    <soap:body use="literal" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    </binding>
    - <service name="SyncHelloWorld">
    - <port name="SyncHelloWorldPort" binding="tns:SyncHelloWorldBinding">
    <soap:address location="http://cisoidd001.corporate.ge.com:5843/orabpel/default/SyncHelloWorld/v2006_06_19__40924" />
    </port>
    </service>
    - <plnk:partnerLinkType name="SyncHelloWorld">
    - <plnk:role name="SyncHelloWorldProvider">
    <plnk:portType name="tns:SyncHelloWorld" />
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    Also, while running the BPEL process from console, we can give the input as html or string. Can anyone give the me xml format of the input.
    Any help would be highly appreciated.
    Thanks,
    Debojyoty

    Your last question shows that you might have solved this by now.
    The xml document you are composing in java might not exactly be the xml input bpel excepts. The way to compare is first initiate a process by posting an html message, using the initiate tab for your process in the BPEL console. Check the box "Save as default input" before you send the html request.
    Then again do an initiate from the BPEL console and select "XML Source" instead of "HTML Form". You will see the xml message you just have sent as html.
    You might also want to test your java program with one of the many free soap clients available on the internet.
    HTH,
    Ruerd
    http://www.numericalexample.com

  • Running Sync BPEL process doesn't show any HTML form /XML source for input

    Hi
    I designed,compiled and deployed SYNC BPEL process on to server
    but when I opened console and try to run the process, it doesn't show any form for input
    Actually it has to take input
    Where I am doing wrong...?
    Thanks for any help...

    Hi Praveen,
    That is correct, you're not doing anything wrong. The BPEL Console doesn't show any forms for testing the services if the service is synchronous.
    I test my synchronous webservices with Eviware SoapUI. This is a freeware tool. Check: http://www.soapui.org/
    Just create a new project in soapUI, create a new request from WSDL, copy and paste the WSDL in soapUI. It will generate a default request for you, which you can edit and execute.
    HTH,
    Bas

  • Selecting specific instance of XML element for binding

    I am trying to create a form that will display ratesheets used to show mortgage rates.  We have an XML schema defined that has multiple rates for multiple products.  The rates change continuously. I want to create a static PDF by combining a form and an XML input.
    In the PDF, I always want the rates for a given product in the same location.  For instance, 30 year fixed on page 1, upper left, 5/1 arm on page 2, upper right, etc.  Each of these products has a predefined static product code.
    The ratesheet schema has the following definition for the product element:
    So, how can I specify that a subform bind to where prod_cd=02, or 21, whatever?

    No, I don't want different fields on different pages. I want column 1 to show rlock15, rlock30, rlock60 where prod_cd=02. In column 2, I want to show rlock15, rlock30, rlock60 where prod_cd=21 So, I want the same field ($record.ratesheetline.rlock30), but different instances. So, I need to be able to create a subform that selects something like $record.ratesheetline.code='02', and then display the above fields for that specified instance.

  • How to create a xml element for Text with Java?

    Hi @ all,
    I want to tag a part of a text with Java.
    Like the InDesign function "Tag für Text" (maybe "tag for text" in english)
    Is there a way to tag text with Java?
    I tried to autoTag and to markup the text with an existing xml, but only got IdsExceptions.
    here the code where to tag the text:
    XMLElement newXML = parentXML.addXMLElement(VariableTypeUtils.createString("newXML"),OptArg.noVariableType());
    Text[] texts = para.findText(OptArg.noBoolean());
    for (Text text : texts)
       //TODO tag text
    Exception throwing code:
    text.autoTag();
    text.markup(newXML);
    newXML.markup(VariableTypeUtils.createObject(text));

    This is not a Web Dynpro specific question. This forum is for Web Dynpro specifc development aspects. There are other forums for general ABAP development as well as other specific aspects of ABAP development.
    I strong suggest that you review the rules of engagement for forum involvement, Derek.  You have had multiple violations of the rules in the last week.

  • How to find out the page number of an xml element

    Hi everybody, sorry for my very bad english (french guy! logical). I hope you see what I'm looking for.
    I'm scripting (javascript) an exporting script of every articles from a multi-pages indesign script.
    In fact I could have one or more article in one file, every one of them is on an separate xml element. for each I have to export an xml file named with, first, the page number where appears the xml element, second, the number of exported article.
    I'm success the second purpose, but not the first.
    Someone have an idea ?

    Try this,
    var myDoc=app.activeDocument;
    var root = myDoc.xmlElements[0];
    var docTag = root.evaluateXPathExpression('//doc');
    for(i=0; i<docTag.length; i++)
        var docPos = docTag[i].insertionPoints.lastItem();
        var docFrame = docPos.parentTextFrames[0];
        var docPage;
        try
             docPage = docFrame.parentPage;
    catch(e)
            docPage = docFrame.parent.name;
        alert(docPage.name);
    Vandy

  • XML element in image URL

    Hi All,
    I used this to get dynamic URL resolution for logo on my report.
    Simple url:{'http://localhost/logo.jpg'} works just fine for HTML output.
    But once I use XML element for URL resolution it does nothing...
    url:{concat('http://',FILE_PATH)} returns just 'http://' without value from FILE_PATH element.
    Needles to say, that FILE_PATH element on report itself does the job and presents path to the image.
    What I am doing wrong?
    Thank you.

    Have a look at this .
    Re: problem with dynamic image
    or
    simple use
    url:{concat('http://',.//FILE_PATH}

  • Adding text to parentStory destroys XML element / JavaScript, InD CS4

    Dear scripters,
    I'm currently stuck with this problem:
    - I'm writing text to text frames on a layout page
    - while writing some characters/strings are XML tagged (I'm creating an element)
    - I can do this only once, because adding more text after I have created an XML element destroys the link to the element
    Here's my sample:
    var MyBox = app.activeDocument.textFrames.add();
    MyBox.geometricBounds = ["0pt","0pt", "200pt", "200pt"];
    //Fill some content into the text frame
    MyBox.parentStory.contents = "bla";
    //create a xml element for some of the text
    app.activeDocument.xmlElements.item(0).xmlElements.add("test1", MyBox.parentStory.characters.itemByRange(1, 2));
    //so far so good...
    //now some calculating
    var result = "456";
    //add result to the text frame
    //doing this destroys the link to the existing xml element
    MyBox.parentStory.contents += result;
    //doing this creates a new xml element with the wrong characters selected and linked
    app.activeDocument.xmlElements.item(0).xmlElements.add("test2" , MyBox.parentStory.characters.itemByRange(4, 2));
    Can someone please help on?
    Best regards,
    TYPO

    Hello Harbs,
    thank you, it almost works now; the xml element brackets are not destroyed anymore.
    The only problem I have now is that the second element becomes a  child of the first one.
    How can I force each element to  be "independent"?
    Here's the code:
    var MyBox = app.activeDocument.textFrames.add();
    MyBox.geometricBounds = ["0pt","0pt", "200pt", "200pt"];
    var MyContent = "bla";
    MyBox.parentStory.insertionPoints[-1].contents = MyContent;
    MyBox.parentStory.characters.itemByRange(-1, -MyContent.length).select();
    app.activeDocument.xmlElements.item(0).xmlElements.add("test1" ,app.activeDocument.selection[0]);
    MyContent = "456";
    MyBox.parentStory.insertionPoints[-1].contents = MyContent;
    MyBox.parentStory.characters.itemByRange(-1, -MyContent.length).select();
    app.activeDocument.xmlElements.item(0).xmlElements.add("test2" ,app.activeDocument.selection[0]);
    Best regards,
    TYPO

  • Getting XML Elements

    I am returning some XML elements(for example Figure elements) using Xpath in Javascript, which is assingned to one object in VB.net. There is no problem when i am getting(those elements) from CS5.5 Document but while i am getting from CS3 document it shows COM Object error. My code is as follows.
            SerializedObject.IApplication = CreateObject("InDesign.Application.CS3")
            Dim a As Object = SerializedObject.IApplication.DoScript("C:\Documents and Settings\pg4007\Desktop\scripts\Find_Float_Element.jsx", InDesign.idScriptLanguage.idJavascript, )
    it shows,
    Error HRESULT E_FAIL has been returned from a call to a COM component.
    Plz help me.

    The code creates two paragraph styles namely Element_A_01 and Element_B_02. These two are created for the immediate child nodes of the Workbook node. Now it seems that you are trying to create pstyles for all the nodes in the XML, which in your case would still be these two as Element_A_01 has a child node that is also named Element_A_01 and the same is the case for Element_B_02.
    If i get your point right then you need to create 4 pstyles if all the nodes have different names, but that is not working. For this you will have to recursively traverse each node that you get from the code xes[n].
    The code be something like this
    function main() {   
      var xes, n, doc, ps, xe;   
      if ( !app.documents.length ) return;   
      doc = app.activeDocument; 
      xes = doc.xmlElements[0].xmlElements; //This gives the immediate child nodes of the Workbook node, hence the length in the next statement is 2  
      n = xes.length;   
      while ( n-- ) {   
      xe = xes[n];   //Here you need to recursively traverse the node xe
      //The no of child elements of xe can be obtained as xe.xmlElements.length
      //First element can be obtained by xe.xmlElements[0]
    main();
    Hope this solves the issue

  • Possible elements in the instanceconfig.xml file for presentation services

    g'day
    Has anyone here come across a list of all the possible elements that can be put in the configuration file for a presentation service, instanceconfig.xml ?<P>
    I have found next to nothing in the documentations, about what can be configured there.<P>
    What I am specifically after is: How can I change the default listening port for the Presentation Service? The default port is 9710 and I want to move to another port.<P>
    Also, how can I move the JavaHost from the default port 9810? I can change the file <i>OracleBI/web/javahost/config/config.xml</i> to reflect the change. Once the JavaHost has been restarted it starts up on the expected port, but the Presentation Service still tries to communicate over RPC to port 9810. How do I configure the presentation service to search for the JavaHost on a non-default port?<P>
    I have boiled it down to my original question: What are the possible values I can configure in the instanceconfig.xml file?<P>
    Any comments here would be great.<P>
    Cheers,<br>
    Borkur

    So, I had a little breakthrough here.
    I found in the OBIEE deployment guide, page 142:
    To change the Presentation Services listener port
    1 Open the instanceconfig.xml file for editing.
    2 Locate the <WebConfig> element.
    3 Within the <WebConfig> tags, create the element <RPC> and assign it the RPC Listener Port
    value for the BI Presentation Services instance, as shown in the following example.
    <WebConfig>
    <ServerInstance>
    <RPC>
    <Listener port="9715" />
    </RPC>
    </ServerInstance>
    </WebConfig>
    NOTE: In the preceding example, the RPC Listener port for the BI Presentation Services instance
    has been changed to port 9715 from the default of 9710.
    4 Save changes to the file.
    This almost works. The RPC element has been deprecated, as was reported in the sawserver.out.log:
    The configuration entry 'RPC/Listener' is deprecated. Please refer to the admin guide for more information.
    What I then did was to just remove the RPC elements and leaving the Listener element straight under there ServerInstance element. This seems to have solved the problem.
    I still have to figure out how to let the Presentation Service know that I have moved the JavaHost to antoher port ...
    Cheers,
    Borkur

  • Creating an Element for an XML Document

    Assuming I have an XML file
    file.xml
    <root>
    <child1>
    <child2>
    <child100>
    <root>
    i do
    SAXBuilder parser = new SAXBuilder();
    doc = parser.build(file);
    root = doc.getRootElement();This returns a root elemnet for the entire tree.Now my question is how do i create a root element for say jus the top 10 children? That is, is there a way i can create a document just reading the first 10 elements from the file tree above so that when i do a getChildren on root I should have only 10 elements in the list.

    | 1. How are the attributes of an XML element can be stored to the database
    XML SQL Utility (which XSQL uses under the covers) only stores
    documents in the canonical format. You'll need to use an XSLT
    transformation to transform data into the canonical format
    (including transforming attribute values into elements whose
    names correspond to the column in which you'd like to store it)
    | 2. How can I store a single XML document to multiple database tables?
    I outline several techniques for this in my upcoming
    O'Reilly book, "Building Oracle XML Applications".
    The basic idea is to either:
    (1) Use an Object View with an INSTEAD OF INSERT trigger, or
    (2) Use a technique that transform the inbound document
    into a multi-table insert-format and passes each
    relevant part for insert to the XML SQL Utility separately.
    null

  • Imported XSLT cannot create attributes for generated XML element

    I have two xslts. One imports the other.
    The imported xslt creates XML elements with attributes and this XML is stored in a variable in the main stylesheet
    If I perform the transformation with JRE prior to 1.6.0.18 then all works fine
    If I use 1.6.0.18 or 1.6.0.19 then the attributes aren't added.
    If I add attributes in the main xslt it works fine or if I output the element directly instead of first storing it in a variable then it also works fine.
    Problem seems to be when you try to add attributes from an imported stylesheet and store the generated element in a variable.
    Below two stylesheets to illustrate :
    First MainStylesheet.xsl
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Copyright 1993-2005 Seagull Software Systems, Inc. -->
    <xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:exsl="http://exslt.org/common"
    extension-element-prefixes="exsl"
    exclude-result-prefixes="xs">
    <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes" />
    <xsl:import href="innerstylesheet.xsl"/>
    <xsl:template match="/TestData">
    <xsl:variable name="generatedElementXml">
    <xsl:call-template name="generateElement">
    <xsl:with-param name="s">testValue</xsl:with-param>
    </xsl:call-template>
    </xsl:variable>
    <xsl:for-each select="exsl:node-set($generatedElementXml)">
    *** GeneratedElementXML {<xsl:text>
    </xsl:text><xsl:copy-of select="*"></xsl:copy-of>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>Next innerstylesheet.xsl
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:exsl="http://exslt.org/common"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    extension-element-prefixes="exsl" >
            <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
            <xsl:template name="generateElement">
                       <xsl:param name="s"/>
                    <TestElement testAttribute="$s" />
            </xsl:template>
    </xsl:stylesheet>The result output by jres before 1.6.0.18 is :
    <?xml version="1.0" encoding="UTF-8"?>
                   *** GeneratedElementXML {
              <TestElement xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" testAttribute="testValue"/>
                   }          The result output by jres since 1.6.0.18 is :
    <?xml version="1.0" encoding="UTF-8"?>
                   *** GeneratedElementXML {
              <TestElement xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                   }          Note : the 'testAttribute' attribute is missing

    Have found the difference in the code
    In both JRE1.6.0_17 & JRE1.6.0_18, the class 'com.sun.org.apache.xalan.internal.xsltc.dom.AdaptiveResultTreeImpl' has the following method
    public void addUniqueAttribute(String qName, String value, int flags)
            throws SAXException
            addAttribute(qName, value);
        }In JRE1.6.0_17 the next method is
    public void addAttribute(String name, String value)
         if (_openElementName != null) {
             _attributes.add(name, value);
         else {
             BasisLibrary.runTimeError(BasisLibrary.STRAY_ATTRIBUTE_ERR, name);
        }In JRE1.6.0_18 the next method is
    public void addAttribute(String uri, String localName, String qname,
                String type, String value)
         if (_openElementName != null) {
             _attributes.addAttribute(uri, localName, qname, type, value);
         else {
             BasisLibrary.runTimeError(BasisLibrary.STRAY_ATTRIBUTE_ERR, qname);
        }Note - the addAttribute method has additional parameters in JRE1.6.0_18 but the call from addUniqueAttribute wasn't updated.
    So in JRE1.6.0_18 addUniqueAttribute actually invokes the following method in the base package com.sun.org.apache.xml.internal.serializer.EmptySerializer
    public void addAttribute(String name, String value)
            aMethodIsCalled();
    void aMethodIsCalled()
            // throw new RuntimeException(err);
            return;
        }and as you can see this does nothing. Hence the fact that the attribute isn't added.

  • Efficient searching in a large XML file for specific elements

    Hi
    How can I search in a large XML file for a specific element efficiently (fast and memory savvy?) I have a large (approximately 32MB with about 140,000 main elements) XML file and I have to search through it for specific elements. What stable and production-ready open source tools are available for such tasks? I think PDOM is a solution but I can't find any well-known and stable implementations on the web.
    Thanks in advance,
    Behrang Saeedzadeh.

    The problem with DOM parsers is that the whole document needs to be parsed!
    So with large documents this uses up a lot of memory.
    I suggest you look at sometthing like a pull parser (Piccolo or MPX1) which is a fast parser that is program driven and not event driven like SAX. This has the advantage of not needing to remember your state between events.
    I have used Piccolo to extract events from large xml based log files.
    Carl.

  • Multi-level nested tables for repeatable XML Elements

    Hi there,
    Suppose we have a XML Schema „ASchema“ like this (XMLDB schema annotations are left out for simplicity):
    <xs:schema xmlns:xs=" .... " />
    <xs:element name=“A“>
         <xs:complexType>
              <xs:sequence>
                   <xs:element name=“B“ maxOccurs=“unbounded“/>
                        <xs:complexType>
                             <xs:sequence>
                                  <xs:element name = “C“ maxOccurs=“unbounded“/>
                             </xs:sequence>
                        </xs:complexType>
                   </xs:element>
              </xs:sequence>
         </xs:complexType>
    </xs:element>
    </xs:schema>
    After registering this schema in Oracle, I can define a table like this:
    CREATE TABLE ATable
    id NUMBER,
    doc XMLTYPE
    XMLTYPE COLUMN doc
    XMLSCHEMA “ASchema“ ELEMENT “A“
    VARARRAY doc.“XMLDATA“.“B“ STORE AS TABLE “BTable“
    ((PRIMARY KEY (NESTED_TABLE_ID, SYS_NC_ARRAY_INDEX$)) ORGANIZATION INDEX)
    This creates a nested table "BTable" within the table "ATable". So far so good, I can use this nested table to gain faster access on every possible subelement of Element B when I set an appropriate index.
    I now want to create another nested table for element “C“ like this:
    DROP TABLE ATable;
    CREATE TABLE ATable
    id NUMBER,
    doc XMLTYPE
    XMLTYPE COLUMN doc
    XMLSCHEMA “ASchema“ ELEMENT “A“
    VARARRAY doc.“XMLDATA“.“B“ STORE AS TABLE “BTable“
    ((PRIMARY KEY (NESTED_TABLE_ID, SYS_NC_ARRAY_INDEX$)) ORGANIZATION INDEX)
    VARARRAY doc.“XMLDATA“.“B“.“C“ STORE AS TABLE “CTable“
    ((PRIMARY KEY (NESTED_TABLE_ID, SYS_NC_ARRAY_INDEX$)) ORGANIZATION INDEX)
    But this statement fails with the error message something like „ ... no such attribute ... „
    And here's my question: is it possible to create nested tables for repeatable XML Elements that are subelements of other repeatable XML Elements ? And if so, how can I do it ?
    Thank you very much in advance
    Jan

    Found a (partial) solution myself:
    If you add the attribute xdb:storeVarrayAsTable="true" to the root element of the XML schema, Oracle XMLDB generates nested tables for all repeatable XML Elements while registering the XML schema.
    Unfortunately, the names of these nested tables are system-generated, hence it's a bit uncomfortable to set indices on them. You can find out the names of these nested tables as follows:
    select table_name, parent_table_name, parent_table_column from user_nested_tables;
    Further information on that subject is supplied in the following thread:
    Re: default tables for elements with maxoccurs > 1
    It would be nice if there was a way to name the generated nested tables via appropriate XMLDB schema annotations.
    regards
    Jan

Maybe you are looking for

  • Wi-Fi: No Hardware Installed Problem - Macbook Pro

    After connecting Wi-Fi and surf online about 20 minutes, Wi-Fi is stop. Can not turn on and turn off. It shows "Wi-Fi: No Hardware Installed". I shut down the computer. Leave about 20 minutes. Then power on the computer. Wi-Fi is working well again.

  • All apps slowed down after Mavericks upgrade.

    As a non techie senior I approached the upgrade to Mavericks from OS 6 with trepidation , knowing many apps would be incompatible. An accidental sun with iCloud removed all my iTunes . I recovered them from the Time machine. The WI FI  network link i

  • Problem with Sun ONE Assembly Tools

    I try to start "Sun ONE Assembly Tools" but it gives me the error as the following: "Another copy of AssemblyTool maybe running with the same userdir. Please exit from previous session or remove the lock file." I used to run this tool before and it w

  • Need documents on webdynpro for java?

    hi, i am working on java,i want to move to webdynpro for java.i need documents on webdynpro for java.

  • How to recover database when all redo logs are losted

    pls help me in recovering the database when all the redo logs are losted