Any reference material about XPath expressions???

Hi All
I am using XPath with java. Can someone refer me some good (and simple) Xpath tutorial or other material having some good examples of Xpath expressions.
Thanx.
Arshad

And if you still feel that you can use some more info then try
wrox press' XSLT Programmers Reference by Michael Kay.
Its complete hand book with actual usage examples,including some complex mathematical examples(calculations)
Khalid Ali

Similar Messages

  • I am trying to learn to use the "Add Spammer" and "Manage Spammer list" but can't find any reference material ?

    I need to learn how to properly use the "Add Spammer" and "Manage Spammer List" functions and can find no documentation/explanation of these functions. Sites I list with the "Add Spammer" function continue to come into my mail box.
    Thank you for your help

    Use the Thunderbird built-in junk filter.
    http://kb.mozillazine.org/Junk_Mail_Controls

  • Xpath expression in condition editor

    Hi Expert Forum !
    I have an xml structure like this :
    <aaa>
      <bbb>
        <ccc>
        </ccc>
      </bbb>
    </aaa>
    In my condition editor (receiver determination) I want to refer to an element which is a child of node <ccc>. However, node ccc is not defined in my data type.
    I can without any problems type my xpath expression manually but it doesn't seem to work though. As if it doesn't recognize node ccc if it's not in the data type. I know for 100% sure that node ccc will be in my inbound message.
    Is it possible to reference an element in the condition editor - knowing that it will be present in the inbound message - even though it's not defined in the underlying data type ??
    So why not just change the data type if I know <ccc> will be there? Well, data type is an external definition and I don't wanna edit it only to support an xpath expression in my rec. determination. If I can avoid it...
    Message was edited by:
            Hans Hougaard
    Message was edited by:
            Hans Hougaard

    Managed to make xpath expression work. It is possible to reference an element which is not defined in the data type. My problem turned out to be a namespace issue..

  • About XPATH ARRAY expressions

    Invoking "capescience.GlobalWeather" I have to compose 2 services in two different port Type of the same partnerLink.
    First One to retrieve the local CODE of an Airport, second one to use thise code to invoke Weather Report of the Weather Station of the airport...
    The GlobalWeather.WSDL is without a SCHEMA, so ican't use the wizards.
    Searching StationInfo By Name of the City Airport I recieve an ArrayOfStation, so in first invocation of WS my SOAP response is just like:
    <SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:cc1="http://www.capeclear.com/GlobalWeather.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <cc2:searchByNameResponse SOAP-ENC:root="1" xmlns:cc2="capeconnect:GlobalWeather:StationInfo">
    <return xsi:type="cc1:ArrayOfStation" SOAP-ENC:arrayType="cc1:Station[5]">
    <item xsi:type="cc1:Station">
    <icao xsi:type="xsd:string">LIRA</icao>
    <wmo xsi:type="xsd:string">16239</wmo>
    <iata xsi:type="xsd:string">CIA</iata>
    <elevation xsi:type="xsd:double">129.0</elevation>
    <latitude xsi:type="xsd:double">41.783</latitude>
    <longitude xsi:type="xsd:double">12.583</longitude>
    <name xsi:type="xsd:string">Roma / Ciampino</name>
    <region xsi:nil="true" />
    <country xsi:type="xsd:string">Italy</country>
    <string xsi:type="xsd:string">LIRA (CIA) - Roma / Ciampino, Italy @ 41.783'N 12.583'E 129m</string>
    </item>
    <item>...</item>
    <item>...</item>
    </return>
    </cc2:searchByNameResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    where I need to extract the variable wmo
    wich is the right XPATH expression?
    I use somethig like:
    /GlobalWeather:Item/GlobalWeather:wmo
    but it returns ZERO nodes..
    thanx ,m.

    Does not works with the folowing message:
    Error in <assign> expression: <from> value is empty at line "57". The XPath expression : "/GlobalWeather:return/GlobalWeaher:Item[1]/GlobalWeather:wmo" returns zero node, when applied to document shown below:
    <return xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="cc1:ArrayOfStation" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" soapenc:arrayType="cc1:Station[5]">
    <item xsi:type="cc1:Station">
    <icao xsi:type="xsd:string">LIRF</icao>
    <wmo xsi:type="xsd:string">16242</wmo>
    <iata xsi:nil="true" />
    <elevation xsi:type="xsd:double">2.0</elevation>
    <latitude xsi:type="xsd:double">41.8</latitude>
    <longitude xsi:type="xsd:double">12.233</longitude>
    <name xsi:type="xsd:string">Roma Fiumicino</name>
    <region xsi:nil="true" />
    <country xsi:type="xsd:string">Italy</country>
    <string xsi:type="xsd:string">LIRF - Roma Fiumicino, Italy @ 41.8'N 12.233'E 2m</string>
    </item>
    <item xsi:type="cc1:Station">
    <icao xsi:type="xsd:string">LIRU</icao>
    <wmo xsi:type="xsd:string">16235</wmo>
    <iata xsi:nil="true" />
    <elevation xsi:type="xsd:double">18.0</elevation>
    <latitude xsi:type="xsd:double">41.95</latitude>
    <longitude xsi:type="xsd:double">12.5</longitude>
    <name xsi:type="xsd:string">Roma / Urbe</name>
    <region xsi:nil="true" />
    <country xsi:type="xsd:string">Italy</country>
    <string xsi:type="xsd:string">LIRU - Roma / Urbe, Italy @ 41.95'N 12.5'E 18m</string>
    </item>
    <item xsi:type="cc1:Station">
    <icao xsi:type="xsd:string">MDLR</icao>
    <wmo xsi:nil="true" />
    <iata xsi:nil="true" />
    <elevation xsi:type="xsd:double">8.0</elevation>
    <latitude xsi:type="xsd:double">18.417</latitude>
    <longitude xsi:type="xsd:double">-68.95</longitude>
    <name xsi:type="xsd:string">La Romana International Airport</name>
    <region xsi:nil="true" />
    <country xsi:type="xsd:string">Dominican Republic</country>
    <string xsi:type="xsd:string">MDLR - La Romana International Airport, Dominican Republic @ 18.417'N -68.95'W 8m</string>
    </item>
    <item xsi:type="cc1:Station">
    <icao xsi:type="xsd:string">PACZ</icao>
    <wmo xsi:type="xsd:string">70212</wmo>
    <iata xsi:nil="true" />
    <elevation xsi:type="xsd:double">146.0</elevation>
    <latitude xsi:type="xsd:double">61.783</latitude>
    <longitude xsi:type="xsd:double">-166.033</longitude>
    <name xsi:type="xsd:string">Cape Romanzoff Airways Facilities Sector</name>
    <region xsi:type="xsd:string">AK</region>
    <country xsi:type="xsd:string">United States</country>
    <string xsi:type="xsd:string">PACZ - Cape Romanzoff Airways Facilities Sector, AK, United States @ 61.783'N -166.033'W 146m</string>
    </item>
    <item xsi:type="cc1:Station">
    <icao xsi:type="xsd:string">LIRA</icao>
    <wmo xsi:type="xsd:string">16239</wmo>
    <iata xsi:type="xsd:string">CIA</iata>
    <elevation xsi:type="xsd:double">129.0</elevation>
    <latitude xsi:type="xsd:double">41.783</latitude>
    <longitude xsi:type="xsd:double">12.583</longitude>
    <name xsi:type="xsd:string">Roma / Ciampino</name>
    <region xsi:nil="true" />
    <country xsi:type="xsd:string">Italy</country>
    <string xsi:type="xsd:string">LIRA (CIA) - Roma / Ciampino, Italy @ 41.783'N 12.583'E 129m</string>
    </item>
    </return>

  • XPath expression failed to execute.

    Hi Everybody ,
    I am working  AIA PIP 3.1 for JDE E1.I am facing some errors so that i can't proceed.
    See the log errors as below:
    javax.xml.ws.soap.SOAPFaultException: XPath expression failed to execute. An error occurs while processing the XPath expression; the expression is ora:processXSLT('xsl/Xform_BillOfMaterialsListABM_to_BillOfMaterialsListAXML.xsl',bpws:getVariableData('InitialLoadBillOfMaterialsListReqMsg','InitialLoadBillOfMaterialsList'),bpws:getVariableData('Parameters')). The XPath expression failed to execute; the reason was: oracle.fabric.common.xml.xpath.XPathFunctionException: javax.xml.transform.TransformerException: oramds:/deployed-composites/default/InitialLoadBillOfMaterialsListJDEE1toAgileImpl_rev1.0/xsl/Xform_BillOfMaterialsListABM_to_BillOfMaterialsListAXML.xsl<Line 18, Column 271>: XML-22044: (Error) Extension function error: Error invoking 'lookupXRef':'oracle.tip.xref.exception.RepositoryException: lookup could not find values in column name "AGILE_01" for table name "oramds:/apps/AIAMetaData/xref/ITEM_ITEMID.xref" using reference column name "JDEE1_01" and reference value "731882::M30" Please ensure lookup criteria has a match.'. Check the detailed root cause described in the exception message text and verify that the XPath query is correct.
    Please reply me ASAP,
    Waiting for your response.....
    Regards
    Jyoti Nayak

    Hi,
    Ya i checked the data for same table,but i didn't get any XREF related information in xref_data table.
    Did you mean that, data should already present under AIAFPINST_XREF.Probably xref is meant for storing dynamic value.
    Please check the above error and reply me soon.
    With Regards
    Jyoti Nayak

  • XPath Expression in document definition

    I am trying to use "XPath Expression1" for 894 in the document definition under XPath in order to retrieve invoice number so that, it would be used in BAM but I am not getting successful in putting exact XPath expression for invoice number. I am using as below
    /Transaction-894/Segment-G82/Element-861
    Pls suggest is there any wrong in the XPath?
    Regards,
    Suneel Jakka

    Here is the XSD for which I am trying XPath for the "Element-861" under "Segment-G82"..
    Pls suggest me..
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Automatically generated by EDIFECS SpecBuilder (http://www.edifecs.com) -->
    <xsd:schema xmlns="http://www.edifecs.com/xdata/200" targetNamespace="http://www.edifecs.com/xdata/200" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" elementFormDefault="qualified">
         <xsd:annotation>
              <xsd:appinfo>
                   <FileName>C:\Documents and Settings\jakkasun\Desktop\11g\X12_5010_894.ecs</FileName>
                   <InternalID>{0840BE5F-3518-463D-A128-D73D96D4A5D2}</InternalID>
              </xsd:appinfo>
         </xsd:annotation>
         <xsd:element name="Transaction-894" type="Transaction-894"/>
         <xsd:complexType name="Transaction-894">
              <xsd:annotation>
                   <xsd:documentation>This X12 Transaction Set contains the format and establishes the data contents of the Delivery/Return Base Record Transaction Set (894) for use within the context of an Electronic Data Interchange (EDI) environment. The transaction set can be used to enable a Direct Store Delivery (DSD) vendor to communicate the details of a DSD delivery and is to be used during the check-in procedure. </xsd:documentation>
                   <xsd:appinfo>
                        <UNMKey>Full|CodeList|-&lt;Parent Node ID&gt;.&lt;Index&gt;|Composite|-&lt;Node ID&gt;|Element|-&lt;Node ID&gt;|Loop|-&lt;Node ID&gt;|Segment|-&lt;Node ID&gt;|Transaction|-&lt;Node ID&gt;|ReplacementCharacter|_|InternalSeparator|-</UNMKey>
                   </xsd:appinfo>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Internal-Properties" type="Internal-Properties" minOccurs="0"/>
                   <xsd:element name="Segment-ST" type="Segment-ST"/>
                   <xsd:element name="Segment-G82" type="Segment-G82"/>
                   <xsd:element name="Segment-N9" type="Segment-N9" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
                   <xsd:element name="Loop-LS" type="Loop-LS" minOccurs="0" nillable="true"/>
                   <xsd:element name="Segment-G72" type="Segment-G72" minOccurs="0" maxOccurs="20" nillable="true"/>
                   <xsd:element name="Segment-G23" type="Segment-G23" minOccurs="0" maxOccurs="20" nillable="true"/>
                   <xsd:element name="Segment-G84" type="Segment-G84"/>
                   <xsd:element name="Segment-G86" type="Segment-G86"/>
                   <xsd:element name="Segment-G85" type="Segment-G85"/>
                   <xsd:element name="Segment-SE" type="Segment-SE"/>
              </xsd:sequence>
              <xsd:attribute name="Type" default="Transaction" type="xsd:string"/>
              <xsd:attribute name="ID" default="894" type="xsd:string"/>
              <xsd:attribute name="Name" default="Delivery/Return Base Record" type="xsd:string"/>
              <xsd:attribute name="XDataVersion" fixed="2.0" type="xsd:string"/>
              <xsd:attribute name="Standard" fixed="X12" use="required" type="xsd:string"/>
              <xsd:attribute name="Version" default="V5010" type="xsd:string"/>
              <xsd:attribute name="GUID" type="GUID"/>
              <xsd:attribute name="CreatedBy" type="xsd:string"/>
              <xsd:attribute name="CreatedDate" type="xsd:dateTime"/>
         </xsd:complexType>
         <xsd:simpleType name="GUID">
              <xsd:restriction base="xsd:string">
                   <xsd:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:complexType name="EDI-Element-String-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:string">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-Integer-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:integer">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-Decimal-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:decimal">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-hexBinary-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:hexBinary">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-base64Binary-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:base64Binary">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-Any-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:string">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Internal-Properties">
              <xsd:sequence>
                   <xsd:element name="Data-Structure" type="Data-Structure" minOccurs="0" maxOccurs="unbounded"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="Data-Structure">
              <xsd:sequence>
                   <xsd:element name="Lookup" type="Lookup" minOccurs="0" maxOccurs="unbounded"/>
                   <xsd:element name="Property" type="Property" minOccurs="0" maxOccurs="unbounded"/>
                   <xsd:element name="Data-Structure" type="Data-Structure" minOccurs="0" maxOccurs="unbounded"/>
              </xsd:sequence>
              <xsd:attribute name="Name" type="xsd:string"/>
              <xsd:attribute name="GUID" type="GUID"/>
         </xsd:complexType>
         <xsd:complexType name="Lookup">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:string">
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Property">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:string">
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Segment-ST">
              <xsd:annotation>
                   <xsd:documentation>To indicate the start of a transaction set and to assign a control number</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Element-143" type="Element-143"/>
                   <xsd:element name="Element-329" type="Element-329"/>
                   <xsd:element name="Element-1705" type="Element-1705" minOccurs="0" nillable="true"/>
              </xsd:sequence>
              <xsd:attribute name="Type" default="Segment" type="xsd:string"/>
              <xsd:attribute name="ID" default="ST" type="xsd:string"/>
              <xsd:attribute name="Name" default="Transaction Set Header" type="xsd:string"/>
         </xsd:complexType>
         <xsd:complexType name="Element-143">
              <xsd:annotation>
                   <xsd:documentation>Code uniquely identifying a Transaction Set </xsd:documentation>
              </xsd:annotation>
              <xsd:simpleContent>
                   <xsd:restriction base="EDI-Element-String-Type">
                        <xsd:enumeration value="100"/>
                        <xsd:enumeration value="101"/>
                        <xsd:enumeration value="102"/>
                        <xsd:enumeration value="103"/>
                        <xsd:enumeration value="104"/>
                        <xsd:enumeration value="105"/>
                        <xsd:enumeration value="106"/>
                        <xsd:enumeration value="107"/>
                        <xsd:enumeration value="108"/>
                        <xsd:enumeration value="109"/>
                        <xsd:enumeration value="110"/>
                        <xsd:enumeration value="111"/>
                        <xsd:enumeration value="112"/>
                        <xsd:enumeration value="113"/>
                        <xsd:enumeration value="120"/>
                        <xsd:enumeration value="121"/>
                        <xsd:enumeration value="124"/>
                        <xsd:enumeration value="125"/>
                        <xsd:enumeration value="126"/>
                        <xsd:enumeration value="127"/>
                        <xsd:enumeration value="128"/>
                        <xsd:enumeration value="129"/>
                        <xsd:enumeration value="130"/>
                        <xsd:enumeration value="131"/>
                        <xsd:enumeration value="132"/>
                        <xsd:enumeration value="133"/>
                        <xsd:enumeration value="135"/>
                        <xsd:enumeration value="138"/>
                        <xsd:enumeration value="139"/>
                        <xsd:enumeration value="140"/>
                        <xsd:enumeration value="141"/>
                        <xsd:enumeration value="142"/>
                        <xsd:enumeration value="143"/>
                        <xsd:enumeration value="144"/>
                        <xsd:enumeration value="146"/>
                        <xsd:enumeration value="147"/>
                        <xsd:enumeration value="148"/>
                        <xsd:enumeration value="149"/>
                        <xsd:enumeration value="150"/>
                        <xsd:enumeration value="151"/>
                        <xsd:enumeration value="152"/>
                        <xsd:enumeration value="153"/>
                        <xsd:enumeration value="154"/>
                        <xsd:enumeration value="155"/>
                        <xsd:enumeration value="157"/>
                        <xsd:enumeration value="158"/>
                        <xsd:enumeration value="159"/>
                        <xsd:enumeration value="160"/>
                        <xsd:enumeration value="161"/>
                        <xsd:enumeration value="163"/>
                        <xsd:enumeration value="170"/>
                        <xsd:enumeration value="175"/>
                        <xsd:enumeration value="176"/>
                        <xsd:enumeration value="179"/>
                        <xsd:enumeration value="180"/>
                        <xsd:enumeration value="185"/>
                        <xsd:enumeration value="186"/>
                        <xsd:enumeration value="187"/>
                        <xsd:enumeration value="188"/>
                        <xsd:enumeration value="189"/>
                        <xsd:enumeration value="190"/>
                        <xsd:enumeration value="191"/>
                        <xsd:enumeration value="194"/>
                        <xsd:enumeration value="195"/>
                        <xsd:enumeration value="196"/>
                        <xsd:enumeration value="197"/>
                        <xsd:enumeration value="198"/>
                        <xsd:enumeration value="199"/>
                        <xsd:enumeration value="200"/>
                        <xsd:enumeration value="201"/>
                        <xsd:enumeration value="202"/>
                        <xsd:enumeration value="203"/>
                        <xsd:enumeration value="204"/>
                        <xsd:enumeration value="205"/>
                        <xsd:enumeration value="206"/>
                        <xsd:enumeration value="210"/>
                        <xsd:enumeration value="211"/>
                        <xsd:enumeration value="212"/>
                        <xsd:enumeration value="213"/>
                        <xsd:enumeration value="214"/>
                        <xsd:enumeration value="215"/>
                        <xsd:enumeration value="216"/>
                        <xsd:enumeration value="217"/>
                        <xsd:enumeration value="219"/>
                        <xsd:enumeration value="220"/>
                        <xsd:enumeration value="222"/>
                        <xsd:enumeration value="223"/>
                        <xsd:enumeration value="224"/>
                        <xsd:enumeration value="225"/>
                        <xsd:enumeration value="227"/>
                        <xsd:enumeration value="228"/>
                        <xsd:enumeration value="240"/>
                        <xsd:enumeration value="242"/>
                        <xsd:enumeration value="244"/>
                        <xsd:enumeration value="245"/>
                        <xsd:enumeration value="248"/>
                        <xsd:enumeration value="249"/>
                        <xsd:enumeration value="250"/>
                        <xsd:enumeration value="251"/>
                        <xsd:enumeration value="252"/>
                        <xsd:enumeration value="255"/>
                        <xsd:enumeration value="256"/>
                        <xsd:enumeration value="259"/>
                        <xsd:enumeration value="260"/>
                        <xsd:enumeration value="261"/>
                        <xsd:enumeration value="262"/>
                        <xsd:enumeration value="263"/>
                        <xsd:enumeration value="264"/>
                        <xsd:enumeration value="265"/>
                        <xsd:enumeration value="266"/>
                        <xsd:enumeration value="267"/>
                        <xsd:enumeration value="268"/>
                        <xsd:enumeration value="269"/>
                        <xsd:enumeration value="270"/>
                        <xsd:enumeration value="271"/>
                        <xsd:enumeration value="272"/>
                        <xsd:enumeration value="273"/>
                        <xsd:enumeration value="274"/>
                        <xsd:enumeration value="275"/>
                        <xsd:enumeration value="276"/>
                        <xsd:enumeration value="277"/>
                        <xsd:enumeration value="278"/>
                        <xsd:enumeration value="280"/>
                        <xsd:enumeration value="283"/>
                        <xsd:enumeration value="284"/>
                        <xsd:enumeration value="285"/>
                        <xsd:enumeration value="286"/>
                        <xsd:enumeration value="288"/>
                        <xsd:enumeration value="290"/>
                        <xsd:enumeration value="300"/>
                        <xsd:enumeration value="301"/>
                        <xsd:enumeration value="303"/>
                        <xsd:enumeration value="304"/>
                        <xsd:enumeration value="309"/>
                        <xsd:enumeration value="310"/>
                        <xsd:enumeration value="311"/>
                        <xsd:enumeration value="312"/>
                        <xsd:enumeration value="313"/>
                        <xsd:enumeration value="315"/>
                        <xsd:enumeration value="317"/>
                        <xsd:enumeration value="319"/>
                        <xsd:enumeration value="322"/>
                        <xsd:enumeration value="323"/>
                        <xsd:enumeration value="324"/>
                        <xsd:enumeration value="325"/>
                        <xsd:enumeration value="326"/>
                        <xsd:enumeration value="350"/>
                        <xsd:enumeration value="352"/>
                        <xsd:enumeration value="353"/>
                        <xsd:enumeration value="354"/>
                        <xsd:enumeration value="355"/>
                        <xsd:enumeration value="356"/>
                        <xsd:enumeration value="357"/>
                        <xsd:enumeration value="358"/>
                        <xsd:enumeration value="361"/>
                        <xsd:enumeration value="362"/>
                        <xsd:enumeration value="404"/>
                        <xsd:enumeration value="410"/>
                        <xsd:enumeration value="412"/>
                        <xsd:enumeration value="414"/>
                        <xsd:enumeration value="417"/>
                        <xsd:enumeration value="418"/>
                        <xsd:enumeration value="419"/>
                        <xsd:enumeration value="420"/>
                        <xsd:enumeration value="421"/>
                        <xsd:enumeration value="422"/>
                        <xsd:enumeration value="423"/>
                        <xsd:enumeration value="424"/>
                        <xsd:enumeration value="425"/>
                        <xsd:enumeration value="426"/>
                        <xsd:enumeration value="429"/>
                        <xsd:enumeration value="431"/>
                        <xsd:enumeration value="432"/>
                        <xsd:enumeration value="433"/>
                        <xsd:enumeration value="434"/>
                        <xsd:enumeration value="435"/>
                        <xsd:enumeration value="436"/>
                        <xsd:enumeration value="437"/>
                        <xsd:enumeration value="440"/>
                        <xsd:enumeration value="451"/>
                        <xsd:enumeration value="452"/>
                        <xsd:enumeration value="453"/>
                        <xsd:enumeration value="455"/>
                        <xsd:enumeration value="456"/>
                        <xsd:enumeration value="460"/>
                        <xsd:enumeration value="463"/>
                        <xsd:enumeration value="466"/>
                        <xsd:enumeration value="468"/>
                        <xsd:enumeration value="470"/>
                        <xsd:enumeration value="475"/>
                        <xsd:enumeration value="485"/>
                        <xsd:enumeration value="486"/>
                        <xsd:enumeration value="490"/>
                        <xsd:enumeration value="492"/>
                        <xsd:enumeration value="494"/>
                        <xsd:enumeration value="500"/>
                        <xsd:enumeration value="501"/>
                        <xsd:enumeration value="503"/>
                        <xsd:enumeration value="504"/>
                        <xsd:enumeration value="511"/>
                        <xsd:enumeration value="517"/>
                        <xsd:enumeration value="521"/>
                        <xsd:enumeration value="527"/>
                        <xsd:enumeration value="536"/>
                        <xsd:enumeration value="540"/>
                        <xsd:enumeration value="561"/>
                        <xsd:enumeration value="567"/>
                        <xsd:enumeration value="568"/>
                        <xsd:enumeration value="601"/>
                        <xsd:enumeration value="602"/>
                        <xsd:enumeration value="620"/>
                        <xsd:enumeration value="625"/>
                        <xsd:enumeration value="650"/>
                        <xsd:enumeration value="715"/>
                        <xsd:enumeration value="753"/>
                        <xsd:enumeration value="754"/>
                        <xsd:enumeration value="805"/>
                        <xsd:enumeration value="806"/>
                        <xsd:enumeration value="810"/>
                        <xsd:enumeration value="811"/>
                        <xsd:enumeration value="812"/>
                        <xsd:enumeration value="813"/>
                        <xsd:enumeration value="814"/>
                        <xsd:enumeration value="815"/>
                        <xsd:enumeration value="816"/>
                        <xsd:enumeration value="818"/>
                        <xsd:enumeration value="819"/>
                        <xsd:enumeration value="820"/>
                        <xsd:enumeration value="821"/>
                        <xsd:enumeration value="822"/>
                        <xsd:enumeration value="823"/>
                        <xsd:enumeration value="824"/>
                        <xsd:enumeration value="826"/>
                        <xsd:enumeration value="827"/>
                        <xsd:enumeration value="828"/>
                        <xsd:enumeration value="829"/>
                        <xsd:enumeration value="830"/>
                        <xsd:enumeration value="831"/>
                        <xsd:enumeration value="832"/>
                        <xsd:enumeration value="833"/>
                        <xsd:enumeration value="834"/>
                        <xsd:enumeration value="835"/>
                        <xsd:enumeration value="836"/>
                        <xsd:enumeration value="837"/>
                        <xsd:enumeration value="838"/>
                        <xsd:enumeration value="839"/>
                        <xsd:enumeration value="840"/>
                        <xsd:enumeration value="841"/>
                        <xsd:enumeration value="842"/>
                        <xsd:enumeration value="843"/>
                        <xsd:enumeration value="844"/>
                        <xsd:enumeration value="845"/>
                        <xsd:enumeration value="846"/>
                        <xsd:enumeration value="847"/>
                        <xsd:enumeration value="848"/>
                        <xsd:enumeration value="849"/>
                        <xsd:enumeration value="850"/>
                        <xsd:enumeration value="851"/>
                        <xsd:enumeration value="852"/>
                        <xsd:enumeration value="853"/>
                        <xsd:enumeration value="854"/>
                        <xsd:enumeration value="855"/>
                        <xsd:enumeration value="856"/>
                        <xsd:enumeration value="857"/>
                        <xsd:enumeration value="858"/>
                        <xsd:enumeration value="859"/>
                        <xsd:enumeration value="860"/>
                        <xsd:enumeration value="861"/>
                        <xsd:enumeration value="862"/>
                        <xsd:enumeration value="863"/>
                        <xsd:enumeration value="864"/>
                        <xsd:enumeration value="865"/>
                        <xsd:enumeration value="866"/>
                        <xsd:enumeration value="867"/>
                        <xsd:enumeration value="868"/>
                        <xsd:enumeration value="869"/>
                        <xsd:enumeration value="870"/>
                        <xsd:enumeration value="871"/>
                        <xsd:enumeration value="872"/>
                        <xsd:enumeration value="873"/>
                        <xsd:enumeration value="874"/>
                        <xsd:enumeration value="875"/>
                        <xsd:enumeration value="876"/>
                        <xsd:enumeration value="877"/>
                        <xsd:enumeration value="878"/>
                        <xsd:enumeration value="879"/>
                        <xsd:enumeration value="880"/>
                        <xsd:enumeration value="881"/>
                        <xsd:enumeration value="882"/>
                        <xsd:enumeration value="883"/>
                        <xsd:enumeration value="884"/>
                        <xsd:enumeration value="885"/>
                        <xsd:enumeration value="886"/>
                        <xsd:enumeration value="887"/>
                        <xsd:enumeration value="888"/>
                        <xsd:enumeration value="889"/>
                        <xsd:enumeration value="891"/>
                        <xsd:enumeration value="893"/>
                        <xsd:enumeration value="894"/>
                        <xsd:enumeration value="895"/>
                        <xsd:enumeration value="896"/>
                        <xsd:enumeration value="920"/>
                        <xsd:enumeration value="924"/>
                        <xsd:enumeration value="925"/>
                        <xsd:enumeration value="926"/>
                        <xsd:enumeration value="928"/>
                        <xsd:enumeration value="940"/>
                        <xsd:enumeration value="943"/>
                        <xsd:enumeration value="944"/>
                        <xsd:enumeration value="945"/>
                        <xsd:enumeration value="947"/>
                        <xsd:enumeration value="980"/>
                        <xsd:enumeration value="990"/>
                        <xsd:enumeration value="993"/>
                        <xsd:enumeration value="996"/>
                        <xsd:enumeration value="997"/>
                        <xsd:enumeration value="998"/>
                        <xsd:enumeration value="999"/>
                        <xsd:attribute name="EDIDataType" fixed="ID" type="xsd:string"/>
                        <xsd:attribute name="ID" fixed="143" type="xsd:string"/>
                        <xsd:attribute name="Name" fixed="Transaction Set Identifier Code" type="xsd:string"/>
                   </xsd:restriction>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Element-329">
              <xsd:annotation>
                   <xsd:documentation>Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set </xsd:documentation>
              </xsd:annotation>
              <xsd:simpleContent>
                   <xsd:restriction base="EDI-Element-String-Type">
                        <xsd:minLength value="4"/>
                        <xsd:maxLength value="9"/>
                        <xsd:attribute name="EDIDataType" fixed="AN" type="xsd:string"/>
                        <xsd:attribute name="ID" fixed="329" type="xsd:string"/>
                        <xsd:attribute name="Name" fixed="Transaction Set Control Number" type="xsd:string"/>
                   </xsd:restriction>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Element-1705">
              <xsd:annotation>
                   <xsd:documentation>Reference assigned to identify Implementation Convention </xsd:documentation>
              </xsd:annotation>
              <xsd:simpleContent>
                   <xsd:restriction base="EDI-Element-String-Type">
                        <xsd:minLength value="1"/>
                        <xsd:maxLength value="35"/>
                        <xsd:attribute name="EDIDataType" fixed="AN" type="xsd:string"/>
                        <xsd:attribute name="ID" fixed="1705" type="xsd:string"/>
                        <xsd:attribute name="Name" fixed="Implementation Convention Reference" type="xsd:string"/>
                   </xsd:restriction>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Segment-G82">
              <xsd:annotation>
                   <xsd:documentation>To transmit identifying numbers, dates, and other basic data relating to the transaction set</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Element-478" type="Element-478"/>
                   <xsd:element name="Element-861" type="Element-861"/>
                   <xsd:element name="Element-860" type="Element-860"/>
    Regards,
    Suneel Jakka

  • In XSLT, make XPath expression to retrieve attribute nodes

    I have a problem fetching attribute nodes in an Xpath expression.
    SOAP Request:
    <Create ID=5/>
    <Name>Per</Name>
    I want to fetch the value of ID and put it into another variable with an XPath expression in a XSLT transformation.
    If you look at http://www.w3schools.com/xpath/xpath_syntax.asp
    You should be able to do this with "//Create[@ID]" according to the examples, but this is not working at all in JDev.
    Any thoughts?
    /Per

    Thanks, that worked!
    Just thought about it. How do you do the other way around.
    <Create>
    <ID>7</ID>
    to
    <Create ID=7>
    .

  • Nested XPath expressions

    Hello,
    I am using jsp to read an xml file, then build a table from the contents. My xml looks like this:
    <document>
         <first> Text of First tag
                 <second> Text of second tag
                      <inner> Text of inner tag</inner>
                      <inner> Text of inner tag</inner>
                 </second>
         </first>
         <first> Text of First tag
                 <second> Text of second tag
                     <inner> Text of inner tag</inner>
                     <inner> Text of inner tag</inner>
                 </second>
         </first>
    </document>I am using the standard tag library to iterate over the nodes of type <first>. My problem is that when I get to each <first> node, I want to iterate over each <inner> node, but I don't know how to reference them with XPath. Here is a snippet of my jsp:
            <c:import var="xml" url="test2.xml"/>
         <x:parse varDom="dom" xml="${xml}"/>
            <x:forEach var="First" select="$dom/document/first">     // iterates over each <first> tage
              <x:set var="Second"      select="string($First/second)" />     // only one second tag per first tag
              <x:forEach var="inner" select="$Second/inner" >          // now I want to loop over all the <inner> tags
                         // process inner tags here
              </x:forEach>
            </x:forEach>I can't figure out how to access the inner tags with xpath. I can access the "Second" variable, but when I try to go into the second loop, I can't get the text of the <inner> tag. Any suggestions?

    Good question. I looked at the documentation for the x:forEach element, and it says that it sets the context node to each element of the iteration. So, inside your x:forEach element you can assume that the context node is a first element from your document. The XPath expression to find your inner elements relative to that context node is "inner/second". So:<x:forEach var="inner" select="second/inner" >

  • Xpath expression substring or contains

    Hi ,
    I have this inbound source message
    <?xml version="1.0" encoding="UTF-8" ?>
    - <rfc:Z_RFC xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    - <TO_DATA>
    - <item>
      <LINE>000012E3 ABCD 3I 20070911164941</LINE>
      </item>
      </TO_DATA>
      </rfc:Z_RFC>
    and two inbound interfaces
    condition is , if "ABCD" exists in the LINE field(type string) then the corresponding Interface mapping should execute.
    I know the exact location of "ABCD occurence so I can use either contains or substring functions.
    I tried /P1:Z_RFC/TO_DATA/item[substring(LINE,X,Y)="ABCD"] EX no right operand
    /P1:Z_RFC/TO_DATA/item[substring(LINE,X,Y)]= "ABCD"  with right operand
    substring((/P1:Z_RFC/TO_DATA/item/LINE),X,Y) = "ABCD"
    similarly I tried around with <b>"contains"</b> function too.
    but not able to apply exactly, I tried with different options looking at different blogs in SDN.
    so how should be the Xpath expression ?
    thank you.
    Babu

    yes,
    I have two different interface mappings in interface determination.  
    I have same sender RFC interface(outbound) and two different target interfaces  and so why I have two different interface mapping,MMs.
    sender and reciever systems are same in both cases.
    .................condition1--interface mapping1--
    sender -
    |--                                                                |--
    Receiver
    .................condition2--interface mapping2--
    >>>two dfferent interfaces one when the condition satisfies and other when the condition doens'tmacth...
    I know why you are asking this,if we have one interface map and two target interfaces then we need to go for enhanced interface determination.
    and need not to be just "substring" or "contains" function ,just any function will do.
    so any suggestion about the above scenario in ASCII diagram?
    thank you.
    Babu

  • XPath Expression Builder Performance after Oracle FMW PS4 Upgrade

    Hi,
    Is there anyone out there on OFMW PS4 and facing performance issues with the BPEL Assign 'XPath Expression Builder'. We have a scenario where the BPEL process has to reference many schemas (arnd. 50+) from referenced Partner Link WSDLs and its own composite. The Expression Builder seems to be very very slow (takes minutes to load) as compared PS2 (only seconds).
    Are we alone on this one / anyone has any experience/fix/workaround?
    BTW,
    We've unchecked the "Validate" check box from SOA Preferences, still no luck.
    Regards,
    Srinath.

    Hi,
    Is there anyone out there on OFMW PS4 and facing performance issues with the BPEL Assign 'XPath Expression Builder'. We have a scenario where the BPEL process has to reference many schemas (arnd. 50+) from referenced Partner Link WSDLs and its own composite. The Expression Builder seems to be very very slow (takes minutes to load) as compared PS2 (only seconds).
    Are we alone on this one / anyone has any experience/fix/workaround?
    BTW,
    We've unchecked the "Validate" check box from SOA Preferences, still no luck.
    Regards,
    Srinath.

  • XPath Expression to Check if certain condition does not exists

    Dear Experts,
    I have an interface scenario with this source message structure:
    /Message/Body/Field1
    Body have multiple occurence in the Message, and each Body will have only 1 Field1.
    at the Interface Determination:
    - Interface A:     if the /Message/Body/Field1 = "" exists
    - Interface B:     if the /Message/Body/Field1 = "" does not exists
    I have configured Interface A correctly with the following XPath expression:
    left operator:          /Message/Body[Field1 = ""]
    middle operator:     EX
    right operator:
    Somehow I still could not figured out how to check if /Message/Body/Field1 = "" does not exists.
    I've tried some XPath expression:
    left operator:          /Message/Body[Field1 = ""]
    middle operator:     !=
    right operator:        EX
    (this results in Interface B generated no matter /Message/Body/Field1 = "" exists or not)
    left operator:          /Message/Body[ (count(Field1 = "") = 0) ]
    middle operator:     EX
    right operator:      
    (this results an exception raised at Interface Determination when Message/Body/Field1 = "" does not exists)
    And some other workaround but still no success.
    Any advice would be appreciated.
    Thank you,
    Suwandi C.

    Am I getting you right: You want to route the message one way if there is at least one empty Field1in the message and the other way if there is no empty Field1 present?
    Maybe you could try:
    Left: boolean(/Message/Body[Field1 = '']/
    Operator: =
    Right: true
    Left: boolean(/Message/Body[Field1 = '']/
    Operator: !=
    Right: false
    boolean() should return true if the node-set provided to the function contains at least one node.
    I think you should use single quotes for literals.
    I'm not sure about the slash at the end of the left operator.

  • Using the variable placeholder ? in an XPath expression

    I'm trying to using the variable operator (?) in an Oracle prepared statement used in a query where clause. Here is the query:
    select xt.APPLICATION_NAME, xt.VERSION, xt.EVENT_TYPE, xt.SENDING_SITE, xt.RECEIVING_SITE, xt.EVENT_ID
          from AUDITED_EVENT_XML_MIN e,
             XMLTable(XMLNAMESPACES('http://gov/va/med/datasharing/audit/endpoint/audit' AS "xae"),
                    '/xae:auditable-event'
                    PASSING e.xml_event_content
                    COLUMNS
                    APPLICATION_NAME VARCHAR2(255) PATH 'xae:application-name',
                    VERSION          VARCHAR2(255) PATH 'xae:version',
                    EVENT_TYPE       VARCHAR2(255) PATH 'xae:event-type',
                    SENDING_SITE     VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.4/HD.2',
                    RECEIVING_SITE   VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.6/HD.2',
                    EVENT_ID         VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.10') xt
                where existsNode(E.XML_EVENT_CONTENT, '/xae:auditable-event[xae:event-type=?]','xmlns:xae="http://gov/va/med/datasharing/audit/endpoint/audit"') = 1This code works when the ? is replaced with "aValue". I need to use the ? so that my Java client can pass a variable value into the query.
    Is this a supportable feature or am I doing something wrong?
    I didn't see any examples in the Oracle XML DB Developers Guide where there was a ? in an XPath expression.
    I also tried "?" with the same issue...
    Here is the version info:
    SQL*Plus: Release 11.1.0.6.0 - Production on Mon Sep 10 18:41:55 2012
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsAny assistance would be greatly appreciated.
    Thanks in advance...
    Edited by: flyeagle5683 on Sep 10, 2012 5:49 PM

    select xt.APPLICATION_NAME, xt.VERSION, xt.EVENT_TYPE, xt.SENDING_SITE, xt.RECEIVING_SITE, xt.EVENT_ID
          from AUDITED_EVENT_XML_MIN e,
             XMLTable(XMLNAMESPACES('http://gov/va/med/datasharing/audit/endpoint/audit' AS "xae"),
                    '/xae:auditable-event'
                    PASSING e.xml_event_content
                    COLUMNS
                    APPLICATION_NAME VARCHAR2(255) PATH 'xae:application-name',
                    VERSION          VARCHAR2(255) PATH 'xae:version',
                    EVENT_TYPE       VARCHAR2(255) PATH 'xae:event-type',
                    SENDING_SITE     VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.4/HD.2',
                    RECEIVING_SITE   VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.6/HD.2',
                    EVENT_ID         VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.10') xt
                where XMLEXISTS(
                           'declarre namespace xae ="http://gov/va/med/datasharing/audit/endpoint/audit"; (: :)
                            $XML/xae:auditable-event[xae:event-type=$VALUE]'
                            passing e.xml_event_content as "XML",
                                      :1 as "VALUE"
                ) or you can do
    select xt.APPLICATION_NAME, xt.VERSION, xt.EVENT_TYPE, xt.SENDING_SITE, xt.RECEIVING_SITE, xt.EVENT_ID
          from AUDITED_EVENT_XML_MIN e,
             XMLTable(XMLNAMESPACES('http://gov/va/med/datasharing/audit/endpoint/audit' AS "xae"),
                    '/xae:auditable-event'
                    PASSING e.xml_event_content
                    COLUMNS
                    APPLICATION_NAME VARCHAR2(255) PATH 'xae:application-name',
                    VERSION          VARCHAR2(255) PATH 'xae:version',
                    EVENT_TYPE       VARCHAR2(255) PATH 'xae:event-type',
                    SENDING_SITE     VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.4/HD.2',
                    RECEIVING_SITE   VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.6/HD.2',
                    EVENT_ID         VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.10') xt
          WHERE EVENT_TYPE = :1Edited by: mdrake on Sep 10, 2012 7:23 PM
    Edited by: mdrake on Sep 10, 2012 7:24 PM

  • Using the variable ? operator in an XPath Expression

    I'm trying to using the variable operator (?) in an Oracle prepared statement used in a query where clause. Here is the query:
    select xt.APPLICATION_NAME, xt.VERSION, xt.EVENT_TYPE, xt.SENDING_SITE, xt.RECEIVING_SITE, xt.EVENT_ID
          from AUDITED_EVENT_XML_MIN e,
             XMLTable(XMLNAMESPACES('http://gov/va/med/datasharing/audit/endpoint/audit' AS "xae"),
                    '/xae:auditable-event'
                    PASSING e.xml_event_content
                    COLUMNS
                    APPLICATION_NAME VARCHAR2(255) PATH 'xae:application-name',
                    VERSION          VARCHAR2(255) PATH 'xae:version',
                    EVENT_TYPE       VARCHAR2(255) PATH 'xae:event-type',
                    SENDING_SITE     VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.4/HD.2',
                    RECEIVING_SITE   VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.6/HD.2',
                    EVENT_ID         VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.10') xt
                where existsNode(E.XML_EVENT_CONTENT, '/xae:auditable-event[xae:event-type=?]','xmlns:xae="http://gov/va/med/datasharing/audit/endpoint/audit"') = 1This code works when the ? is replaced with "aValue". I need to use the ? so that my Java client can pass a variable value into the query.
    Is this a supportable feature or am I doing something wrong?
    I didn't see any examples in the Oracle XML DB Developers Guide where there was a ? in an XPath expression.
    I also tried "?" with the same issue...
    Here is the version info:
    SQL*Plus: Release 11.1.0.6.0 - Production on Mon Sep 10 18:41:55 2012
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsAny assistance would be greatly appreciated.
    Thanks in advance...

    I incorporated this suggestion and it worked very well. Thanks!
    Now I have converted my solution to use a structured index. As such, I want to write the where clauses in terms of column names rather than XPath expressions.
    I hoped it was as simple as changing the code that generates the XPath expression to generate a SQL expression. After making that change, I'm now getting this error:
    Caused by: java.sql.SQLSyntaxErrorException: ORA-00920: invalid relational operator
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
         at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:686)
         at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:617)
         at oracle.jdbc.driver.T2CPreparedStatement.executeForDescribe(T2CPreparedStatement.java:559)
         at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1077)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3425)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1490)
         at gov.va.med.datasharing.audit.dao.jdbc.runner.MapQueryRunner.run(MapQueryRunner.java:47)
         at gov.va.med.datasharing.audit.web.dao.jdbc.AuditableEventsQueryDAOImpl.getAuditableEventsByDate(AuditableEventsQueryDAOImpl.java:150)It seemed to me that if it worked for the XPath expression that it should also work for the SQL expression.
    The static SQL is:
    SELECT PK_ID, EVENT_TYPE, OUTCOME, SENDING_SITE, RECEIVING_SITE, CREATED_TIME, EVENT_ID, PATIENT_ID FROM
      (SELECT rownum as rn, PK_ID, EVENT_TYPE, OUTCOME, SENDING_SITE, RECEIVING_SITE, CREATED_TIME, EVENT_ID, PATIENT_ID FROM
         (SELECT aet.AUDITABLE_EVENT_XML_PK_ID AS PK_ID, xt.EVENT_TYPE, xt.OUTCOME, xt.SENDING_SITE, xt.RECEIVING_SITE, aet.CREATED_TIME as CREATED_TIME, xt.EVENT_ID, xt.PATIENT_ID
            FROM AUDITABLE_EVENT_XML aet,
              XMLTable(XMLNAMESPACES('http://gov/va/med/datasharing/audit/endpoint/audit' AS "xae"),
                '/xae:auditable-event'
                PASSING aet.xml_event_content
                COLUMNS
                EVENT_TYPE       VARCHAR2(255) PATH 'xae:event-type',
                SENDING_SITE     VARCHAR2(255) PATH 'xae:sending-site',
                RECEIVING_SITE   VARCHAR2(255) PATH 'xae:receiving-site',
                EVENT_ID         VARCHAR2(255) PATH 'xae:event-id',
                PATIENT_ID           VARCHAR2(255) PATH 'xae:patient-id',
                OUTCOME                VARCHAR2(255) PATH 'xae:outcome') xt
            WHERE aet.CREATED_TIME BETWEEN ? AND ?
                 AND ?
          ) ORDER BY CREATED_TIME desc
        ) WHERE rn &gt; ? and rn &lt;= ?So I'm thinking that Oracle must perform strong checking in SQL, not allowing the '=' operator to be substituted. If I run this query in Toad, replacing the ? with the SQL, it runs fine...
    Can someone tell me whether or not this is a legal substitution?
    The SQL that runs in Toad is:
    SELECT PK_ID, EVENT_TYPE, OUTCOME, SENDING_SITE, RECEIVING_SITE, CREATED_TIME, EVENT_ID, PATIENT_ID FROM
      (SELECT rownum as rn, PK_ID, EVENT_TYPE, OUTCOME, SENDING_SITE, RECEIVING_SITE, CREATED_TIME, EVENT_ID, PATIENT_ID FROM
         (SELECT aet.AUDITABLE_EVENT_XML_PK_ID AS PK_ID, xt.EVENT_TYPE, xt.OUTCOME, xt.SENDING_SITE, xt.RECEIVING_SITE, aet.CREATED_TIME as CREATED_TIME, xt.EVENT_ID, xt.PATIENT_ID
            FROM AUDITABLE_EVENT_XML aet,
              XMLTable(XMLNAMESPACES('http://gov/va/med/datasharing/audit/endpoint/audit' AS "xae"),
                '/xae:auditable-event'
                PASSING aet.xml_event_content
                COLUMNS
                EVENT_TYPE       VARCHAR2(255) PATH 'xae:event-type',
                SENDING_SITE     VARCHAR2(255) PATH 'xae:sending-site',
                RECEIVING_SITE   VARCHAR2(255) PATH 'xae:receiving-site',
                EVENT_ID         VARCHAR2(255) PATH 'xae:event-id',
                PATIENT_ID         VARCHAR2(255) PATH 'xae:patient-id',
                OUTCOME             VARCHAR2(255) PATH 'xae:outcome') xt
            WHERE aet.CREATED_TIME BETWEEN TO_DATE ('9/19/2011 12:00:01 AM','MM/DD/YYYY HH:MI:SS PM')
                                         AND TO_DATE ('12/20/2012 12:00:00 AM','MM/DD/YYYY HH:MI:SS PM')
                AND (OUTCOME=0 or OUTCOME=1)
          ) ORDER BY CREATED_TIME desc
        ) WHERE rn > 0 and rn <= 5;Any assistance will be appreciated,
    Thanks in advance.

  • Using xpath expressions in Document-Builder

    Hi all
    we have re-designed our (existing) DDX-templates with the Document Builder in LC Workbench. The DDX templates are used to assemble PDFs with LC Assembler-Service.
    Now my question: Is it still possible to use XPath-expression in the DDX template? Please find our example below:
    The XPath expression works only if we copy&paste the DDX source code directly to the Assembler-Service property view (picture below). But referring the DDX-template doens't interpret the xpath path at run time (2nd picture below). Any help on that will be appreciated!
    Works (using DDX source code directly):
    Doesn't work (using DDX template):

    Hi,
    >
    I tried to get a portion of an XML by using XPath Expressions as follows:
    String xPathExpression =
    "declare namespace xq='http://inti.notariado.org/indices' " +
    "$this/xq:RULES/xq:RULE[@disabled]";
    I think any XPath expressions which use [] are not supported in stand alone
    version, but as this is not documented I could be wrong.
    Regards
    Arek

  • [Error ORABPEL-10039]: invalid xpath expression  - array processing

    hi,
    I am trying to process multiple xml elements
    <assign name="setinsideattributes">
    <copy>
    <from expression="ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')"/>
    <to variable="ssn"/>
    </copy>
    </assign>
    where iterator is a index variable .
    I am getting into this error .
    Error(48):
    [Error ORABPEL-10039]: invalid xpath expression
    [Description]: in line 48 of "D:\OraBPELPM_1\integration\jdev\jdev\mywork\may10-workspace\multixm-catch\multixm-catch.bpel", xpath expression "ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')" specified in <from> is not valid, because XPath query syntax error.
    Syntax error while parsing xpath expression "ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')", at position "77" the exception is Expected: ).
    Please verify the xpath query "ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')" which is defined in BPEL process.
    [Potential fix]: Please make sure the expression is valid.
    any information on how to fix this .
    thanks in advance

    check out this note here
    http://clemensblog.blogspot.com/2006/03/bpel-looping-over-arrays-collections.html
    hth clemens

Maybe you are looking for

  • Additional field in report layout

    Dear Experts, In t code me2j (ALV format) there comes option change layout. when we click on this, we found displayed column and hidden column. if i want add one  extra column in hidden column. how can I Add this. this extra column is related to repo

  • My Photo is missing after iCloud restore

    Before I restore my iPhone i see all of my photo is keep in my Photo steam but after i restore my phone with iCloud.My photo is missing Thank you

  • FND_STANDARD.SET_WHO is not working in custom form

    Hi, I have a custom form and in that to update the WHO columns I used "FND_STANDARD.SET_WHO;" in block level in "PRE_INSERT" and "PRE_UPDATE" triggers. But it is not working. Any ideas on this? can this be because of a missing library? I can see appc

  • User only application Folder - Dockulicious

    I just noticed there is no application folder for just the user. Can I just set one up and place applications in it that only I have access to. Will this effect how the program performs? I was looking at the Dockulicious Docks apps which is really co

  • I need to measure a "blob" in an image...

    Ok, here's the deal. I have an experiment setup where a blob of colored liquid spreads under a clear plastic sheet. I am using a normal digital camera to record the process. I'd like to use labview to automate the measurement of the blob. So... I nee