Wanted: only attributes .extract() - function returns the complete node

Hi I have xml documents stored as XMLType, I would like to extract only the attributes of a node which I point to using a xPath expression. As a matter of fact the funcion .extract( some XPath) returns the corresponding node inclusive all children. This is very costly since I have large XML documents having a deep structure.
Thanks

Your XPATH is incorrect
The XPATH you provided identifies the node with the attribute name = blah
The XPATH you want would end with /@*
See
http://www.w3c.org/TR/xpath#section-Location-Steps
eg
SQL> select extract(xml,'/Root/Element[@A1="FOO"]/@*')
2 from
3 (select xmltype(
4 '
5 <Root>
6 <Element A1="FOO" A2="BAA"/>
7 <Element A1="BAA" A2="FOO"/>
8 </Root>
9 ') xml
10 from dual
11 );
EXTRACT(XML,'/ROOT/ELEMENT[@A1="FOO"]/@*')
FOOBAA
Unfortunately, extract will return a concatenation of the value of the selected attributes

Similar Messages

  • Extract Function return NULL

    Hello All,
    I am new to XML so bear with me. I have a situation where I need to extract column field name from XML file stored in table column. I am trying to use extract function but getting NULL value from below SQL. In this case I am expecting to have list of all caption text listed. Please let me know what wrong I am doing below.
    SELECT X.XML.EXTRACT('/report/criteria/columns/column/columnHeading/caption/text()').GETSTRINGVAL() FROM <Table_name>
    XML File is stored in Column name XML in table
    - <saw:report xmlns:saw="com.siebel.analytics.web/report/v1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlVersion="201008230" xmlns:sawx="com.siebel.analytics.web/expression/v1.1">
    - <saw:criteria xsi:type="saw:simpleCriteria" subjectArea=""Study Execution"" withinHierarchy="true">
    - <saw:columns>
    - <saw:column xsi:type="saw:switchGroupColumn" columnID="c997a816d5ca37338">
    - <saw:choices>
    - <saw:choice>
    - <saw:column xsi:type="saw:regularColumn" columnID="c8b17a7121096d3b2">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"Study"."ICON Study No."</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    - <saw:formatSpec suppress="suppress" wrapText="true" interaction="action">
    - <saw:actionLinks showPopupMenuForOneLink="false">
    - <saw:actionLink actionLinkID="c8b17a7121096d3b2_ale3731f8d930e8604">
    - <saw:action>
    <saw:actionName>Deviations - Site Summary PM Dash Board</saw:actionName>
    - <saw:parameters allowExtraParameters="true">
    - <saw:parameter name="__navigateToBIContent__" type="string" mandatory="true" removable="true" order="999" multiValues="false">
    <saw:prompt>__navigateToBIContent__</saw:prompt>
    <saw:description />
    </saw:parameter>
    </saw:parameters>
    - <saw:assignments>
    - <saw:assign name="__navigateToBIContent__" fixed="true" hidden="true" parentFixed="false" parentHidden="false" xsi:type="saw:stringAssign">
    <saw:value>/shared/Clinical Operations/Project Managment Dashboard/Quality Tab/Deviations - Site Summary PM Dash Board</saw:value>
    </saw:assign>
    </saw:assignments>
    - <saw:implementation xsi:type="saw:ScriptActionType" executeOnClient="true">
    <saw:functionName>__navigateToBIContent__</saw:functionName>
    <saw:scriptLanguage>JScript</saw:scriptLanguage>
    <saw:scriptPath />
    </saw:implementation>
    - <saw:clientImplementation>
    <saw:customisation invokeConfirmation="false" />
    </saw:clientImplementation>
    </saw:action>
    - <saw:linkText>
    <saw:text>Deviation Site Summary</saw:text>
    </saw:linkText>
    </saw:actionLink>
    </saw:actionLinks>
    </saw:formatSpec>
    </saw:displayFormat>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec interaction="none" />
    </saw:displayFormat>
    </saw:columnHeading>
    </saw:column>
    </saw:choice>
    - <saw:choice>
    - <saw:column xsi:type="saw:regularColumn" columnID="cd77e27e7b33767de">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"Geography"."Region"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    - <saw:formatSpec suppress="suppress" wrapText="true" interaction="action">
    - <saw:actionLinks showPopupMenuForOneLink="false">
    - <saw:actionLink actionLinkID="cd77e27e7b33767de_alad0f25191c60257b">
    - <saw:action>
    <saw:actionName>Deviations - Site Summary PM Dash Board</saw:actionName>
    - <saw:parameters allowExtraParameters="true">
    - <saw:parameter name="__navigateToBIContent__" type="string" mandatory="true" removable="true" order="999" multiValues="false">
    <saw:prompt>__navigateToBIContent__</saw:prompt>
    <saw:description />
    </saw:parameter>
    </saw:parameters>
    - <saw:assignments>
    - <saw:assign name="__navigateToBIContent__" fixed="true" hidden="true" parentFixed="false" parentHidden="false" xsi:type="saw:stringAssign">
    <saw:value>/shared/Clinical Operations/Project Managment Dashboard/Quality Tab/Deviations - Site Summary PM Dash Board</saw:value>
    </saw:assign>
    </saw:assignments>
    - <saw:implementation xsi:type="saw:ScriptActionType" executeOnClient="true">
    <saw:functionName>__navigateToBIContent__</saw:functionName>
    <saw:scriptLanguage>JScript</saw:scriptLanguage>
    <saw:scriptPath />
    </saw:implementation>
    - <saw:clientImplementation>
    <saw:customisation invokeConfirmation="false" />
    </saw:clientImplementation>
    </saw:action>
    - <saw:linkText>
    <saw:text>Deviation Site Summary</saw:text>
    </saw:linkText>
    </saw:actionLink>
    </saw:actionLinks>
    </saw:formatSpec>
    </saw:displayFormat>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    </saw:columnHeading>
    </saw:column>
    </saw:choice>
    - <saw:choice>
    - <saw:column xsi:type="saw:regularColumn" columnID="cb13030672571aad9">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"Geography"."Country"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    - <saw:formatSpec suppress="suppress" wrapText="true" interaction="action">
    - <saw:actionLinks showPopupMenuForOneLink="false">
    - <saw:actionLink actionLinkID="cb13030672571aad9_al40e4484c67de09d6">
    - <saw:action>
    <saw:actionName>Deviations - Site Summary PM Dash Board</saw:actionName>
    - <saw:parameters allowExtraParameters="true">
    - <saw:parameter name="__navigateToBIContent__" type="string" mandatory="true" removable="true" order="999" multiValues="false">
    <saw:prompt>__navigateToBIContent__</saw:prompt>
    <saw:description />
    </saw:parameter>
    </saw:parameters>
    - <saw:assignments>
    - <saw:assign name="__navigateToBIContent__" fixed="true" hidden="true" parentFixed="false" parentHidden="false" xsi:type="saw:stringAssign">
    <saw:value>/shared/Clinical Operations/Project Managment Dashboard/Quality Tab/Deviations - Site Summary PM Dash Board</saw:value>
    </saw:assign>
    </saw:assignments>
    - <saw:implementation xsi:type="saw:ScriptActionType" executeOnClient="true">
    <saw:functionName>__navigateToBIContent__</saw:functionName>
    <saw:scriptLanguage>JScript</saw:scriptLanguage>
    <saw:scriptPath />
    </saw:implementation>
    - <saw:clientImplementation>
    <saw:customisation invokeConfirmation="false" />
    </saw:clientImplementation>
    </saw:action>
    - <saw:linkText>
    <saw:text>Deviation Site Summary</saw:text>
    </saw:linkText>
    </saw:actionLink>
    </saw:actionLinks>
    </saw:formatSpec>
    </saw:displayFormat>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec interaction="none" />
    </saw:displayFormat>
    </saw:columnHeading>
    </saw:column>
    </saw:choice>
    </saw:choices>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cf5c435bd3d235724">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"Study"."Sponsor Name"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cf48a34febca748ff">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"Study"."Project Status"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="ce51ccb4c38ed538f">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"Project Goverance"."Project Manager"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cf4bc5bea2531f3fe">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"Study"."Indication"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="c430e05de61704a98">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Deviation Metrics"."# Key Deviations"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cf658139b454c5a7f">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Deviation Metrics"."# Non-Key Deviations"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="c1276c4cb2684ce42">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Deviation Metrics"."# Key/Non-Key NA Deviations"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cea25118bedcf2772">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Site Life Cycle Metrics"."# of Sites Activated by Deviation"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    <saw:formatSpec suppress="repeat" wrapText="true" />
    </saw:displayFormat>
    - <saw:tableHeading>
    - <saw:caption fmt="text">
    <saw:text>Site Life Cycle Metrics</saw:text>
    </saw:caption>
    </saw:tableHeading>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    - <saw:caption fmt="text">
    <saw:text># of Sites Activated</saw:text>
    </saw:caption>
    </saw:columnHeading>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cae9b8f9cb7b8daba">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Deviation Metrics"."# Key Deviations per Active Site"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    - <saw:formatSpec suppress="repeat" wrapText="true">
    <saw:dataFormat minDigits="2" maxDigits="2" commas="true" negativeType="minus" xsi:type="saw:number" />
    </saw:formatSpec>
    </saw:displayFormat>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    </saw:columnHeading>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cbb0790d62c120f67">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Site Life Cycle Metrics"."# of Sites Activated with FPS by Deviation"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    <saw:formatSpec suppress="repeat" wrapText="true" />
    </saw:displayFormat>
    - <saw:tableHeading>
    - <saw:caption fmt="text">
    <saw:text>Site Life Cycle Metrics</saw:text>
    </saw:caption>
    </saw:tableHeading>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    - <saw:caption fmt="text">
    <saw:text># of Recruiting Sites (FPS)</saw:text>
    </saw:caption>
    </saw:columnHeading>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cec29c1b67bd731bc">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Deviation Metrics"."# Key Deviations per Recruiting Site (FPS)"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    - <saw:formatSpec suppress="repeat" wrapText="true">
    <saw:dataFormat minDigits="2" maxDigits="2" commas="true" negativeType="minus" xsi:type="saw:number" />
    </saw:formatSpec>
    </saw:displayFormat>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    </saw:columnHeading>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cf52f2d88d2e78ff9">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Subject Life Cycle Metrics"."# of Actual Subjects Randomized by Deviation"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    <saw:formatSpec suppress="repeat" wrapText="true" />
    </saw:displayFormat>
    - <saw:tableHeading>
    - <saw:caption fmt="text">
    <saw:text>Subject Life Cycle Metrics</saw:text>
    </saw:caption>
    </saw:tableHeading>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    - <saw:caption fmt="text">
    <saw:text># of Actual Subjects Randomized</saw:text>
    </saw:caption>
    </saw:columnHeading>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="c804cdbe82e3fa7f3">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Deviation Metrics"."# Key Deviations per Rand Patient"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    - <saw:formatSpec suppress="repeat" wrapText="true">
    <saw:dataFormat minDigits="2" maxDigits="2" commas="true" negativeType="minus" xsi:type="saw:number" />
    </saw:formatSpec>
    </saw:displayFormat>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    </saw:columnHeading>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="ce344decda5f6fd83">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Deviation Metrics"."# Total Waivers"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    <saw:formatSpec suppress="repeat" wrapText="true" />
    </saw:displayFormat>
    - <saw:tableHeading>
    - <saw:caption fmt="text">
    <saw:text>Deviation Metrics</saw:text>
    </saw:caption>
    </saw:tableHeading>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    - <saw:caption fmt="text">
    <saw:text># Total Waivers</saw:text>
    </saw:caption>
    </saw:columnHeading>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="c0d6921698af79211">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Deviation Metrics"."# Inclusion/Exclusion Waivers"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cef66aab5dfc4449d">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"- Deviation Metrics"."# Other Waivers"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="cb963b668b55786bb">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"Deviation Level"."Deviation Level"</sawx:expr>
    </saw:columnFormula>
    - <saw:displayFormat>
    - <saw:formatSpec suppress="repeat" wrapText="true" interaction="clientEvent">
    <saw:clientEventSpec channel="Level" />
    </saw:formatSpec>
    </saw:displayFormat>
    - <saw:columnHeading>
    - <saw:displayFormat>
    <saw:formatSpec interaction="none" />
    </saw:displayFormat>
    </saw:columnHeading>
    </saw:column>
    - <saw:column xsi:type="saw:regularColumn" columnID="c15b89d8487d41b29">
    - <saw:columnFormula>
    <sawx:expr xsi:type="sawx:sqlExpression">"Deviation"."Deviation Type"</sawx:expr>
    </saw:columnFormula>
    </saw:column>
    </saw:columns>
    - <saw:filter>
    - <sawx:expr xsi:type="sawx:logical" op="and">
    <sawx:expr xsi:type="sawx:savedFilter" path="/shared/Clinical Operations/_filters/Study Execution/PM Dashboard - Quality" name="PM Dashboard - Quality" />
    - <sawx:expr op="prompted" xsi:type="sawx:special">
    <sawx:expr xsi:type="sawx:sqlExpression">"Deviation Level"."Deviation Level"</sawx:expr>
    </sawx:expr>
    </sawx:expr>
    </saw:filter>
    </saw:criteria>
    - <saw:views currentView="0">
    - <saw:view xsi:type="saw:compoundView" name="compoundView!1">
    - <saw:cvTable>
    - <saw:cvRow>
    - <saw:cvCell viewName="titleView!1">
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    </saw:cvCell>
    </saw:cvRow>
    - <saw:cvRow>
    <saw:cvCell viewName="columnSelectorView!1" />
    </saw:cvRow>
    - <saw:cvRow>
    - <saw:cvCell viewName="tableView!1">
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    </saw:cvCell>
    </saw:cvRow>
    - <saw:cvRow>
    <saw:cvCell viewName="filtersView!1" />
    </saw:cvRow>
    </saw:cvTable>
    </saw:view>
    <saw:view xsi:type="saw:titleView" name="titleView!1" includeName="false" startedDisplay="dateTime" />
    - <saw:view xsi:type="saw:tableView" name="tableView!1" clientEventChannels="MD1" clientEventEnabled="true">
    - <saw:edges>
    - <saw:edge axis="page" showColumnHeader="true">
    - <saw:displayGrandTotals>
    - <saw:displayGrandTotal id="t1" grandTotalPosition="none">
    - <saw:memberFormat>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    </saw:memberFormat>
    - <saw:dataBodyFormat>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    </saw:dataBodyFormat>
    </saw:displayGrandTotal>
    </saw:displayGrandTotals>
    </saw:edge>
    <saw:edge axis="section" />
    - <saw:edge axis="row" showColumnHeader="true">
    - <saw:displayGrandTotals>
    <saw:displayGrandTotal id="t2" grandTotalPosition="after" />
    </saw:displayGrandTotals>
    - <saw:edgeLayers>
    <saw:edgeLayer type="column" columnID="c997a816d5ca37338" />
    <saw:edgeLayer type="column" columnID="c430e05de61704a98" />
    <saw:edgeLayer type="column" columnID="cf658139b454c5a7f" />
    <saw:edgeLayer type="column" columnID="c1276c4cb2684ce42" />
    <saw:edgeLayer type="column" columnID="cea25118bedcf2772" />
    <saw:edgeLayer type="column" columnID="cae9b8f9cb7b8daba" />
    <saw:edgeLayer type="column" columnID="cbb0790d62c120f67" />
    <saw:edgeLayer type="column" columnID="cec29c1b67bd731bc" />
    <saw:edgeLayer type="column" columnID="cf52f2d88d2e78ff9" />
    <saw:edgeLayer type="column" columnID="c804cdbe82e3fa7f3" />
    - <saw:edgeLayer type="column" columnID="ce344decda5f6fd83">
    - <saw:headerFormat>
    - <saw:displayFormat>
    <saw:formatSpec />
    </saw:displayFormat>
    </saw:headerFormat>
    </saw:edgeLayer>
    <saw:edgeLayer type="column" columnID="c0d6921698af79211" />
    <saw:edgeLayer type="column" columnID="cef66aab5dfc4449d" />
    </saw:edgeLayers>
    </saw:edge>
    <saw:edge axis="column" />
    </saw:edges>
    </saw:view>
    - <saw:view xsi:type="saw:columnSelectorView" name="columnSelectorView!1" labelPosition="left" goButton="false">
    - <saw:selector prompt="true" columnID="c997a816d5ca37338">
    - <saw:label>
    - <saw:caption>
    <saw:text>Select Level</saw:text>
    </saw:caption>
    </saw:label>
    </saw:selector>
    </saw:view>
    - <saw:view xsi:type="saw:dvtchart" name="dvtchart!1">
    - <saw:display type="bar" subtype="default" renderFormat="default" mode="online" xAxisLiveScrolling="false" yAxisLiveScrolling="false" clientEventEnabled="false" animateOnDisplay="true">
    <saw:style barStyle="default" lineStyle="default" scatterStyle="default" fillStyle="default" bubblePercentSize="100" effect="2d" />
    </saw:display>
    - <saw:canvasFormat height="330" width="750" showGradient="true">
    <saw:dataLabels display="default" label="default" position="below" transparentBackground="true" valueAs="default" />
    - <saw:title mode="custom">
    - <saw:caption>
    <saw:text>Severity vs Deviation Type</saw:text>
    </saw:caption>
    </saw:title>
    - <saw:gridlines default="true">
    - <saw:horizontal>
    <saw:major visible="false" />
    <saw:minor visible="false" />
    </saw:horizontal>
    - <saw:vertical>
    <saw:major visible="false" />
    <saw:minor visible="false" />
    </saw:vertical>
    </saw:gridlines>
    </saw:canvasFormat>
    - <saw:selections>
    - <saw:categories>
    - <saw:category>
    <saw:columnRef columnID="c15b89d8487d41b29" />
    </saw:category>
    </saw:categories>
    - <saw:measures showMeasureLabelsOnCategory="false">
    - <saw:column measureType="y">
    <saw:columnRef columnID="c430e05de61704a98" />
    </saw:column>
    - <saw:column measureType="y">
    <saw:columnRef columnID="cf658139b454c5a7f" />
    </saw:column>
    - <saw:column measureType="y">
    <saw:columnRef columnID="c1276c4cb2684ce42" />
    </saw:column>
    </saw:measures>
    - <saw:seriesGenerators>
    <saw:measureLabels />
    </saw:seriesGenerators>
    - <saw:page>
    - <saw:column>
    <saw:columnRef columnID="cb963b668b55786bb" />
    </saw:column>
    </saw:page>
    <saw:sections displayAsSlider="false" />
    </saw:selections>
    - <saw:legendFormat position="default" transparentFill="true">
    <saw:textFormat />
    </saw:legendFormat>
    - <saw:axesFormats syncAxis="false">
    - <saw:axisFormat axis="Y1">
    - <saw:title mode="custom">
    - <saw:caption>
    <saw:text>Severity</saw:text>
    </saw:caption>
    </saw:title>
    <saw:labels />
    <saw:textFormat />
    <saw:scale scaleValues="auto" showMajorTicks="false" showMinorTicks="false" logarithmic="false" defaultTicks="true" />
    </saw:axisFormat>
    - <saw:axisFormat axis="X" displayScaleLabels="true">
    - <saw:title mode="custom">
    - <saw:caption>
    <saw:text>Deviation Type</saw:text>
    </saw:caption>
    </saw:title>
    <saw:labels rotate="15" rotateLabels="true" stagger="false" skip="false" abbreviation="default" />
    <saw:textFormat />
    <saw:scale scaleValues="auto" showMajorTicks="false" showMinorTicks="false" logarithmic="false" />
    </saw:axisFormat>
    </saw:axesFormats>
    - <saw:pageEdgeState>
    - <saw:QDR>
    - <saw:staticMemberGroup>
    - <saw:groupType>
    <sawx:columnRefExpr columnID="cb963b668b55786bb" />
    </saw:groupType>
    - <saw:members xsi:type="saw:stringMembers">
    <saw:value>Patient</saw:value>
    </saw:members>
    </saw:staticMemberGroup>
    </saw:QDR>
    - <saw:selectionGroups>
    <saw:selectionGroup columnID="cb963b668b55786bb" groupID="0" />
    </saw:selectionGroups>
    </saw:pageEdgeState>
    </saw:view>
    <saw:view xsi:type="saw:filtersView" name="filtersView!1" />
    </saw:views>
    <saw:prompts scope="report" subjectArea=""Study Execution"" />
    </saw:report>
    Edited by: Dinesh Chauhan on Jan 19, 2012 4:34 AM

    2) In reality I'll have another column defined in same table which will have same value as columnFormula (from xml file). I would need to extract caption from the XMLType and store in another column.OK, let's see if I understand correctly.
    You want to extract the caption text from the column where the columnFormula contains the value in COL1?
    If I'm correct, it's this one :
    <sawx:expr xsi:type="sawx:sqlExpression">" Site Life Cycle Metrics"."# of Sites Activated with FPS by Deviation"</sawx:expr>Assuming there's a unique match, you can do :
    SQL> SELECT XMLCast(
      2           XMLQuery(
      3             'declare default element namespace "com.siebel.analytics.web/report/v1.1"; (: :)
      4              declare namespace x = "com.siebel.analytics.web/expression/v1.1"; (: :)
      5              /report/criteria/columns/column[ora:contains(columnFormula/x:expr,$val)>0]/columnHeading/caption/text'
      6             passing t.xml
      7                   , t.col1 as "val"
      8             returning content
      9           )
    10           as varchar2(100)
    11         ) as caption_text
    12  FROM temp_xml t
    13  ;
    CAPTION_TEXT
    # of Recruiting Sites (FPS)
    If you want to update the same table, say COL2, you can do it directly like this :
    UPDATE temp_xml t
    SET t.col2 =
           XMLCast(
             XMLQuery(
               'declare default element namespace "com.siebel.analytics.web/report/v1.1"; (: :)
                declare namespace x = "com.siebel.analytics.web/expression/v1.1"; (: :)
                /report/criteria/columns/column[ora:contains(columnFormula/x:expr,$val)>0]/columnHeading/caption/text'
               passing t.xml
                     , t.col1 as "val"
               returning content
             as varchar2(100)
    ;

  • Whee the function return the value store in java

    in c if i write this program
    int add()
    return 1;
    main()
    add();
    if i run this program it give s error that lvalue required
    but in java it works fine though the function return some value

    in c if i write this program
    int add()
    return 1;
    main()
    add();
    if i run this program it give s error that lvalue
    requiredYou mean, if you try to run it as a C program it gave an error?
    Then take your question to a "C" discussion forum. This is Java.
    >
    but in java it works fine though the function return some value
    In Java this does NOT work fine.
    It definitely does not compile! So you cannot run it.

  • Is it possible to define a function in the MathScript Node

    Is it possible to define a function in the MathScript Node

    You can not define a function inside of a MathScript Node, but only because it isn't necessary. The way custom functions work in MathScript is that they are saved in .m files located in paths in the MathScript path list. When the MathScript compiler receives a function that it doesn't recognize, then it searches for it in the path list, and upon finding it, compiles and loads the function. You can specify these search paths manually by going to File>>MathScript Preferences from the MathScript Window or dynamically by using the path() command within a script.
    To answer your original question, if you would like to create custom functions dynamically within a VI, then you can simply build your custom functions using strings and then save them to an ASCII file with the extension .m. You could either save the file to a path already in the MathScript path list or you could dynamically specify the path by passing the path into a MathScript Node as a string and by using the path() command at the beginning of your script to set it.
    Kind Regards,
    E. Sulzer
    Applications Engineer
    National Instruments

  • Initial JNDI context doesn't return the root node

    Hi :
    I just deployed a java application on Netweaver CE 7.2, when the application starts up, the code is trying to perform a JNDI bind and lookup operations by calling " Context context = new Initialcontext(), context.bind(), context.lookup("...)", the problem is that the initial context returned is not the root context (i.e. "/"), it's something like "webcontainer/applications/vendor-name/application-name/module-name/...." etc.. This is a problem for us because our application is consisted of multiple ears with multiple modues(wars) inside each ear, each module needs to publish a set of services as JNDI entries and those services (JNDI entries) need to be accessible to other ears or modules, which means they have to be published under some public directory (for exmaple the root directory), it can NOT be published under the current context of the current module.
    So,  my questions is, is there a way to make the "new Initialcontext()" to return the root directory, perhaps by changing the deployment descriptor or configuration settings somewhere? thanks a lot for your help.

    Hi,
       Add this code to the <i>wdDoModifyView()</i> method:
    IWDRoadMap rdMap = (IWDRoadMap) view.getElement("<id of the RoadMap UI>");
    rdMap.mappingOfOnSelect().addSourceMapping("step","selectedStep");
    Edit the StepSelected action to add a parameter called "<i>selectedStep</i>" of type String. After this the signature for the action handler will look like:
    public void onActionStepSelected(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent, String selectedStep )
    Inside the action handler you can access the selected step simply as "<i>selectedStep</i>".
    Regards,
    Satyajit.

  • Having an inherited function return the derived type instead of the base type

    I am writing two classes in C#:
    A Matrix class
    that represents a general Matrix with n-by-m dimensions
    A SquareMatrix class
    that inherits from Matrix and
    has the constraint of being n-by-n
    The reason I designed it this way is because square matrices support additional specific operations like calculating the determinant or the inverse, so being able to guarantee that those functions are avaliable with the specific type you're using are nice things
    to have. Additionally it would support all the regular Matrix operations and can be used as a Matrix
    I have a function in Matrix called getTranspose().
    It calculates the transpose of the Matrix and returns it as a new Matrix
    I inherited it in SquareMatrix,
    but because the transpose of a square matrix is guaranteed to be square matrix, I also want it to return a SquareMatrix
    I am unsure about the best way to do this.
    I can re-implement the function in SquareMatrix,
    but that would be code duplication because it's essentially the same calculation
    I can use implicit typecast operators, but if I understand correctly that would cause unnecessary allocations (upcast SquareMatrix to Matrix,
    create a new Matrix as
    the transpose, create a new SquareMatrix during
    typecasting and throw away the tranposed Matrix)
    I can use explicit typecast operators, but it would be stupid to have to typecast the transpose of a SquareMatrix explicitly,
    and it also has the same problem of the implicit operator with unnecessary allocations
    Is there another option? Should I change the design of having SquareMatrix inherit
    from Matrix?
    This problem also applies to operators. It seems that I have to either implement typecasting operators which might cost in performance, or have to re-implement the same code.

    Inheritance not helping to eliminate repetition and typecasts is often a sign that generics would help. You can do something like:
    public T getTranspose<T>()
    // or non-member function
    T getTranspose<T>(T input)
    I haven't fully worked it out, but it seems it might get awkward on the calling side. I know C# does some inference with generic methods, but I don't know C#, so I'm not familiar with the details. That might be the way you have to go, though, if you want
    full compile-time type checking with the least amount of repetition in the implementation.
    Another option would be to create private helper functions, then pass in the result type you want, for the helper to populate, like:
    public SquareMatrix getTranspose() {
    SquareMatrix result = new SquareMatrix();
    transposeHelper(result);
    return result;
    This gives you more boilerplate on the implementation side, but at least it isn't full repetition.
    A third option is just to check if the result is square in the Matrix implementation, and return a
    SquareMatrix if it is, like:
    public Matrix getTranspose() {
    Matrix result;
    if (resultIsSquare())
    result = new SquareMatrix();
    else
    result = new Matrix();
    // calculate result
    return result;
    This has the advantage of not needing any implementation at all for getTranspose() in
    SquareMatrix, but at the expense of requiring type checking of the return value at the call site. It also works for cases like multiplying two non-square matrices that happen to give a square result. You give up most compile-time type checking,
    though.
    If your application happens to mostly require run-time instead of compile-time type checking anyway, you might as well just give up the different types and throw an exception if you call a method that a non-square matrix doesn't support. I believe this is
    the approach most existing libraries take, especially since there are other conditions than being non-square that can cause methods like
    inverse() to fail.
    Speaking of libraries, there are a lot of good ones out there for matrix math, that are already heavily tested and optimized. Don't reinvent the wheel if you don't have to.

  • Why is the 'extract'-function in the newest XDK9.2.0.2 still buggy?

    Well it's me again.
    here is the little foo-prg:
    declare
    tmp sys.xmltype:=sys.xmltype.createXML(
    '<a>
    <b id="1">1</b>
    <b id="2">2</b>
    </a>');
    begin
    dbms_output.put_line(tmp.extract('//b[@id="1"]').getstringval());
    end;
    and you will get:
    declare
    ERROR at line 1:
    ORA-31012: Given XPATH expression not supported
    ORA-06512: at "SYS.XMLTYPE", line 0
    ORA-06512: at line 8
    Why the way using the domparser & selectNodes you will get a correct output as you are expecting:
    declare
    parser      xmlparser.Parser;
    dom_doc     xmldom.DOMDocument;
    node_list     xmldom.DOMNodeList;
    node_result varchar2(4000);
    result varchar2(4000);
    xml_doc          varchar2(4000):='<a>
    <b id="1">1</b>
    <b id="2">2</b>
    </a>';
    begin
    parser := xmlparser.newParser;
    xmlparser.parseBuffer(parser,xml_doc);
    dom_doc := xmlparser.getDocument(parser);
    xmlparser.freeParser(parser);
    node_list:=xslprocessor.selectNodes(xmldom.makeNode(dom_doc),'/a/b[@id="2"]');
    for idx in 0..xmldom.getLength(node_list)-1
    loop
    xmldom.writeToBuffer(xmldom.item(node_list,idx),node_result);
    result:=result || node_result;
    end loop;
    xml.freeDocument(dom_doc);
    dbms_output.put_line(result);
    end;
    the output is:
    <b id="2">2</b>
    PL/SQL procedure successfully completed.
    what is wrong with the sys.xmltype.extract?
    Regards,
    Henrik Kuhn

    For some prerecorded audio files the Transpose slider will not work reliably. I found no clear pattern, when it does and when not.
    If all fails, create a loop from the audio file. Select the region in the track and use the command "File: Add region to Loop library".
    Set the current key and tempo, name the loop, and save the loop.
    Now add it from the loop browser to a new track and delete your old track. The search field in the Loop browser will help you to find the loop quickly.
    You will be able to transpose the sample as described above, like a regular loop.
    For example - a audio file turned into a loop and transposed:

  • Extract function not working with tag attributes

    Hi all,
    I have an xml document stored in the db as an xmlType. I am trying to use the extract function to retrieve values. The extract will work fine on tags without attributes. Any tags with attributes or tags beyond the tags with attributes will not be accessible.
    <tag1>
    <tag2>hi</tag2>
    <tag3 att="hello">bye</tag3>
    <tag4> hi again </tag4>
    </tag1>
    In the example above I can extract tag2 values but not tag3 or tag4 values.
    here is my select statement
    works
    select e.xmlval.extract('/tag1/tag2').getStringval()
    from test_xml e;
    does not work
    select e.xmlval.extract('/tag1/tag2/tag3').getStringval()
    from test_xml e;
    does not work
    select e.xmlval.extract('/tag1/tag2/tag3/tag4').getStringval()
    from test_xml e;
    Any ideas?

    Hi all,
    Found the issue. The problem was that I was not specifying the second argument to the extract function.
    The tag attribute that I was not handling was xmlns="".
    I used this atttribute as the second argument in the extract function and now I am off and running.
    Hope this helps someone.
    Cheers

  • In inprocess inspection lets say the production order qty is 20. i would want only 1 no. to be inspected while inprocess inspection is configured. kindly guide. Regards,Mathew

    In inprocess inspection lets say the production order qty is 20. i would want only 1 no. out of the 20 to be inspected while inprocess inspection is configured. kindly guide.
    Thanks in Advance
    Regards,
    Mat

    Hi Mathew,
    Create sampling procedure with fixed sample and give sample size = 1. Assign this sampling procedure for the characteristics of the in-process materials in Routing/Master Recipe etc. For sample size calculation at-least one characteristic should be required characteristic for the Material.
    Thanks&Regards,
    kumar

  • Problem using the IMAQ Extract function.Not getting two different image out

    Hi, I am trying to use the multiple IMAQ extract functions to get certain parts of the webcam image and then using the color extract function to get the average RGB values. The problem is that both the IMAQ extract functions give the same image on its output port. The block diagram snippet and VI are attached below. Also, please let me know if there is a better way of doing this. I need to expand this later to extract rgb values of about 40-50 different parts of the image instead of just two shown below.
    Solved!
    Go to Solution.
    Attachments:
    Extract RGB Data.vi ‏104 KB

    You did not create another image that you should wire to the input "Image Dst" of "IMAQ Extract".  That's why you always operate on the original image (which you should not do if you intend to operate on several regions of the image).
    Solution: 
    (1) Create a new image and wire this to "Image Dst".
    (2) Apply the histogram operation sequentially (e.g. in a loop).
    That way you will notice, that Image Dst contains actually(!) the region you have specified.  (Put a probe on the image wire that goes from the Extract VI to the Histogram VI).

  • How to read the complete path in file upload UI

    Hi,
    I want to know how to read the complete path in file upload UI in java web dynpro.
    I have created 1 file upload UI and than when i do browse and select some file say small.jpg from my local PC, desktop , its path is coming in file upload UI like E:\small.jpg,
    I want to know how to get this path in java webdynpro code.
    please let me know..

    Hi Satyam,
    In webdynpro java, first file stores in server location then it reads from server.
    Create a button with upload and write this code OnAction
    Resource is the attribute name in context of type com.sap.ide.webdynpro.uielementdefinitions.Resource, this attribute is for Resource property for Upload UI Element.
    Then in OnAction of button
    InputStream text = null;
           int temp=0;
           try{
                File file = new File(wdContext.currentContextElement().getResource().getResourceName().toString());
               String path = file.getAbsolutePath();
                wdComponentAPI.getMessageManager().reportSuccess(path);
           }catch(Exception e){
                e.printStackTrace();
        //@@end
    Regards,
    Pradeep
    Edited by: pradeep_546 on May 11, 2011 12:22 PM

  • Help on getTimer() function = affects the main animation...

    Layers scenarios:
    Layer 1: pics animation
    Layer 2: text animation
    Layer 3: graph animation
    Layer 4: a movieclip()
    Here's goes, inside the movieclip on Layer 4 it is nested down to bubble movieclip which inside is an actionscript that animates the premade animation for the bubble just attaching those movieclips to an empty movieclip.
    The problem goes like this when I test the movie in the first maybe 5 or 10 seconds the animation seems just fine but after several seconds the animation becomes slower in the root timeline. It seems that getTimer() affects the animation, as far as I know getTimer() function returns the time the swf file begin playing in milliseconds. The code I was working on is based on the getTimer().
    What would be the work-around with this kind of scenario? I guess theres another function that works the same as getTimer that cannot affect my main animation.
    By the way, my animation on Layer 4 which is nested movieclip is a random bubbles with total of 200 instances.
    Thanks and more power to us all!

    Okay. Here is what I came up with. I'm not sure exactly what was in your timeline animated tweens. So perhaps this isn't what you wanted at all....
    All you need is the bubble artwork (set to export as "Bubble") and this code. It is full of "magic" numbers that I just fiddled with until I thought it looked pretty on my machine.
    Some important bits are the part where when the bubble gets off the top of the screen it removes itself.
    var home:MovieClip = this;
    var counter:Number=0;
    var totalBubbles:Number=200;
    clearInterval(bubbleIntervalID);
    var bubbleIntervalID=setInterval(attachBubble,150);
    function attachBubble() {
    var curBub:MovieClip = home.attachMovie("Bubble", "bubble", 1000+counter);
    curBub.blendMode = "hardlight";
    curBub._y = Stage.height + 100;
    curBub._x = (Stage.width - 50) * Math.random() + 50;
    curBub._xscale = curBub._yscale = Math.random() * 60 + 40;
    curBub._alpha = Math.random() * 80 + 20;
    curBub.vy=-(Math.random()*5+1)
    curBub.ay=-Math.random()/30
    curBub.x0=curBub._x;
    curBub.var1=Math.random()*100;
    curBub.var2=Math.random()*300;
    curBub.factor1=Math.random()/100;
    curBub.factor2=Math.random()/200;
    curBub.onEnterFrame = floatUp;
    counter++
    if(counter>totalBubbles){
      clearInterval(bubbleIntervalID);
    function floatUp() {
    this.vy += this.ay;
    this._y += this.vy;
    this._x = this.x0+this.var1*Math.sin(this._y*this.factor1)+this.var2*Math.sin(this._y*this.factor2) ;
    if(this._y<(-this._height)){
      delete this.onEnterFrame;
      this.removeMovieClip()

  • Function returning SQL query for mutiple series in a chart

    Hi,
    I would like to know if there is a way to specify a single PL/SQL function returning the queries for multiple series in a 2D Line Flash Chart. I have multiple series in my chart that has different values in the where clause. I can write a PL/SQL function that can return all these queries in one shot. Is there anyway that I can specify this function as returning the queries for all the series in the chart?
    As an example, assume that I am using the following three queries for the series in my chart:
    select deptno, count(*) from emp where deptno = 10 group by deptno
    select deptno, count(*) from emp where deptno = 20 group by deptno
    select deptno, count(*) from emp where deptno = 30 group by deptno
    I can't write a PL/SQL function that returns a query in the multiple series syntax (SELECT link, label, series_1_value [, series_2_value [, ...]]FROM ...) as I am using an aggregate function and my where clause is different for each series.
    Thanks,
    Rupesh

    Hi Roel,
    Thanks for your reply. I am already using an analytical function (RATIO_TO_REPORT(COUNT(*)) OVER () ) in my actual report. My problem is that the query for one series differs from the other only in one where clause. I will be able to dynamically able to generate all the queries for all the series in one pl/sql function. But the chart definition screen does not allow us to define a single function that returns queries for the all the series - possibly seperated by some seperator like S1: select.... S2:select and so on.
    Regards,
    Rupesh

  • ADF: coloring the complete header section of table

    Hi Everyone,
    im using Jdev 11G.
    I have created ADF Read only table on the page.
    The table cosists of 15 columns.
    To color the column heading and to make it bold i usesd the below script in the source of my page:
    <f:facet name="header">
    <f:verbatim>
    <table cellspacing="0" cellpadding="0"
    border="0" width="100%"
    style="background-color:#CPD8A1; width:100.0%; height:inherit;">
    <tr>
    <td width="100%" style="font-weight:bold;">Name </td>
    </tr>
    </table>
    </f:verbatim>
    </f:facet>
    Now the problem is:
    one of the column in my table is: "Customer's current residential address".
    Now when i redused the space for this column the heading splited to two parts one on the top of other.
    so the height of the header section for the table has increased so the background color is coming only for text not for the complete header part.
    For suppose the first column is SNO then the background color is for only till SNO but the header height has increased so the remaining space it is coming hasbackgraound white.
    Now i want the same background color for the complete header section without any white color.
    I think im clear with my requirement...
    Any ideas wil be really helpful.
    Thank you.

    One more hint, Oracle ADF has a skin editor which greatly helps you with your task. Depending on you JDev version you cna use the build in version (11.1.2.x) or use the stand alone version which you can donwload from http://www.oracle.com/technetwork/developer-tools/adf/downloads/index.html (bottom of the page and make sure you read the instructions+).
    Timo

  • Lifecycle issue with table binding + read-only attributes: ADF BUG

    Hello all,
    I have found what I believe to be an easily reproducible bug in ADF that reproduces in 10.1.3.x, but not in 11g (at least not in drop 6). The best way to describe the bug would be to walk through a simple set of steps to reproduce the bug:
    1). Create a new application (ADF BC + ADF Faces).
    2). In the model project, create a new Entity Object from the Employee table in the default HR schema. Allow JDev to create an updatable view object and an AM as well.
    3). Put a validation rule on the first name attribute of the EO (can be anything, really - I made mine so that the first name cannot be "foo").
    4). Test everything using the BC tester if you like.
    5). In the UI project, create a new JSPX page.
    6). Drag the updatable VO on to your page as an updatable af:table.
    7). Put an af:commandButton on the page. Bind its Action or ActionListener to a method in a new backing bean. Put some simple code (I used System.out.println) in the backing bean method.
    8). Run the jspx page.
    9). Put some invalid data in (e.g. "foo" in the first name field) and click the af:commandButton. Verify that you get an error message and that the Action/ActionListener method DOES NOT fire. So far, so good.
    10). Now, to demonstrate the problem. First, look at the page definition for the jspx file. Identify the first attribute that is mentioned (in my case, it was the employee id).
    11). Go to the updatable view object and make the attribute from #10 read-only or updatable when new only.
    12. Now, repeat step 9 - you should see the error message AND also see that the Action/ActionListener method was executed. You will also see in the messages window that ADF attempted to set the value of the read-only attribute, and thus got a ReadOnlyAttrException.
    This issue only happens if the first attribute mentioned in the table binding is read-only. A workaround would simply be to re-order the attributes in the table binding of the pagedef so that the first attribute isn't read-only.
    Don't ask how I figured this out ;)
    Best,
    John

    Hi Frank,
    Yes, I simply scripted it out this way to contrast the behaviour if the first attribute was read-only vs not read-only. I found the issue on a page in our app that was simply drag-and-drop the VO from the data control on the page.
    It's quite annoying, because our particular use case that hit this error is a "save" button on the page. If the commit operation doesn't return any errors (and it doesn't in this use case!), we add a JSF message saying "save successful" - then the attribute errors are further added later in the page lifecycle, so we get 3 messages: "Save successful" and "Fix this error" and "Tried to set read-only attribute" - quite confusing to the end-user when the only message they should see is "fix this error."
    At any rate, the fix is to simply re-order the attributes in the page definition - that doesn't affect the UI at all, other than to fix this issue.
    John

Maybe you are looking for

  • Serious problem with ipod!

    Hi people, Having a bit of a nightmare with my ipod...it came up with the sad face on holiday and when I came home I checked the support site and tried resetting and restoring it...however my PC now doesn't recognise my ipod even in Device Manager an

  • Unable to Connect to the database in RCU, Oracle11g XE on Laptop/Windows

    Software downloaded unzipped and installed from OTN OBIEE foundation 11.1.1.5 Repository Creation Utility 11.1.1.5 Oracle Database Express Edition 11.2 Issues 1. I installed Oracle 11g express edition. I am able to start/stop and run sql against the

  • Extractor for AR aging report ?

    Can anybody tell me if there is a standard extractor for this query ? I would also appreciate if you can tell me what we can get out of this report. Thanks, Rishi.

  • How to route the reponse to the request.

    I have two topics, the first topic (Topic-1) will send the message and the message gets processed and the reponse is routed via the second topic (Topic-2).           I would like to know, is there any automated way to route the reponose to the reques

  • I need time machine restore help

    Can someone please tell me what the screen should look like when I do a complete restore onto a new hard drive? The blue candy cane bar is spinning. There is no percent complete or hours until completion showing. It ran all night. 500G hard drive. I