Combine the child nodes
Hello
We use BI Publisher incorporated in Oracle EBS 12.1.3
The XML produced by definition DATA has following structure (mocked up for simplicity)
<DOC_DATA> <DOC_FLOW> <DOC_ID>1456</DOC_ID> <DOC_RECIPIENT>[email protected]</DOC_RECIPIENT> <DOC_DETAIL> <DOC_NAME>ALERT</DOC_NAME> <DOC_DATE>14-Jan-2013</DOC_DATE> <DOC_DESC>test data 1</DOC_DESC> <DOC_DETAIL> </DOC_FLOW> <DOC_FLOW> <DOC_ID>1456</DOC_ID> <DOC_RECIPIENT>[email protected]</DOC_RECIPIENT> <DOC_DETAIL> <DOC_NAME>EOL</DOC_NAME> <DOC_DATE>10-Jan-2013</DOC_DATE> <DOC_DESC>test data 2</DOC_DESC> <DOC_DETAIL> </DOC_FLOW> <DOC_FLOW> <DOC_ID>1456</DOC_ID> <DOC_RECIPIENT>[email protected]</DOC_RECIPIENT> <DOC_DETAIL> <DOC_NAME>PACKAGING</DOC_NAME> <DOC_DATE>20-Jan-2013</DOC_DATE> <DOC_DESC>test data 3</DOC_DESC> <DOC_DETAIL> </DOC_FLOW> <DOC_FLOW> <DOC_ID>1798</DOC_ID> <DOC_RECIPIENT>[email protected]</DOC_RECIPIENT> <DOC_DETAIL> <DOC_NAME>ALERT</DOC_NAME> <DOC_DATE>11-Jan-2013</DOC_DATE> <DOC_DESC>test data 4</DOC_DESC> <DOC_DETAIL> </DOC_FLOW> </DOC_DATA>
Power required of the RTF template is:
DOC - ID: 1456
NAME of DOC | DATE of the DOC | DOC / / DESC |
---|---|---|
DRAW THE ATTENTION OF | January 14, 2013 | test data 1 |
EOL | January 10, 2013 | test data 2 |
PACKAGING | January 20, 2013 | test data 3 |
DOC - ID: 1798
NAME of DOC | DATE of the DOC | DOC / / DESC |
---|---|---|
DRAW THE ATTENTION OF | January 11, 2013 | test data 4 |
* End of the report
How should we write it for each logical grouping such as the child under the annual common parent element (1456, for example) can be printed together?
Thanks for your contributions!
XML is not well-formed
DRAW THE ATTENTION OF
January 14, 2013
test data 1
must be
DRAW THE ATTENTION OF
January 14, 2013
test data 1 / DOC_DETAIL >
for your output, you can use
Doc - id:
Name of doc |
Date of the doc |
Doc / / Desc |
Tags: Business Intelligence
Similar Questions
-
Click the step of node in the child node has no
Hello
I customized a series of nodes personalized like "chassisRackVSphere-ui.
In the picture1 below, "10.240.198.192", "Shopping cart", "Châssis" all three are custom node. When I double click on the column in the table, it must enter the purpose of the grid and remain in the child node as photo 2.
But it will show the Note2 for a second, then jump to the pic1. This jump is abnormal. An idea for this problem?
Set a breakpoint in your data adapter to see what happens when you select the custom in the 1st case object. The error of the user interface must be the result of bad data.
-
Adjust the position of the child node in a StackPane
Hello
I have a question on the setting the positions of child nodes in a StackPane.
I added 2 child nodes to a StackPane.
For the 1st child node, I need to be always as big as the parent StackPane.
For the 2nd child node, it should be as large as necessary to place a few small pictures and it must always be "anchored" to the upper right of the parent StackPane.
2 childs nodes will be overlapping always.
Is this doable with a StackPane or would it be better to use another class of component?
Thank you.Yes, you can do it in a StackPane.
The first node of a subclass of component and ensure that it has an unlimited width and max height and it will completely fill the available surface of the StackPane.
Use the static StackPane.setAlignment (node, Pos) method to position the knot 2.import javafx.application.Application; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.layout.*; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; public class StackPanePositioning extends Application { public static void main(String[] args) throws Exception { launch(args); } @Override public void start(final Stage stage) throws Exception { Pane n1 = new Pane(); n1.setPrefSize(200, 120); n1.setStyle("-fx-background-color: green;"); Rectangle n2 = new Rectangle(50, 50, Color.RED); StackPane.setAlignment(n2, Pos.TOP_RIGHT); StackPane stack = new StackPane(); stack.getChildren().addAll(n1, n2); stage.setScene(new Scene(stack)); stage.show(); } }
-
Hi all
I am very new to the designer of the ADEP. Please help me with this problem.
Let's say that the Subform.datanode.saveXML () returns a XML as below.
< test >
< Paper1 > English < / Document1 >
Science < paper2 > < / paper2 >
History of < paper3 > < / papier3 >
< test >
In the script:
var XMLDoc = subform.datanode.saveXML ("pretty");
for (nodeCount = 0; nodeCount < XMLDoc.nodes.length; nodeCount ++)
Returns an error "error: null is not an object. But I was able to access the values by specifying directly "XMLDoc.paper1 [0] m:System.NET.SocketAddress.ToString ();"
Can someone please suggest a way to know the number of child nodes in this context?
Hello
You can count the knots by:
subform.datanode.nodes.item(0).nodes.length;
-
XML E4X nodes select based on the attribute of the child node.
Hey,.
I'm making a selection on the following XML code.
I want to retrieve the list of the variable node when its child nodes metadata attribute 'name' is not equal to "transitional". I have read the documentation, but have not been able to solve this problem, and it should be pretty simple. So far, I tried with something like.
variable var: XMLList = classInfo.variable. (the metadata. (@name! = "transitoire")) ;
variable var: XMLList = classInfo.variable. (metadata.@name! = "transitional");
But he returns all the nodes variable.
"< name =" type com.sca.dataModel::PresentationDataEntity"base =" com.sca.dataModel::BaseEntity "isDynamic ="false"isFinal ="false"isStatic ="false">
< extendsClass type="com.sca.dataModel::BaseEntity"/ >
< extendsClass type = 'Object' / >
< variable name = "subtitle" type = "string" >
< name of metadata = "__go_to_definition_help" >
< arg key = 'file' value="/Users/jonas/projects/SCA-CMS/src/com/sca/dataModel/PresentationDataEntity.as"/ >
< arg key = "pos" value = "128" / >
< / metadata >
< / variable >
< variable name = "id" type = "Number" >
< name of metadata = "__go_to_definition_help" >
< arg key = 'file' value="/Users/jonas/projects/SCA-CMS/src/com/sca/dataModel/BaseEntity.as"/ >
< arg key = "pos" value = "153" / >
< / metadata >
< / variable >
< variable name = "tableName" type = "String" >
< name of metadata = "transitional" / >
< name of metadata = "__go_to_definition_help" >
< arg key = 'file' value="/Users/jonas/projects/SCA-CMS/src/com/sca/dataModel/BaseEntity.as"/ >
< arg key = 'pos' value = '118' / >
< / metadata >
< / variable >
< variable name = "db_SortAsc" type = "Boolean" >
< name of metadata = "transitional" / >
< name of metadata = "__go_to_definition_help" >
< arg key = 'file' value="/Users/jonas/projects/SCA-CMS/src/com/sca/dataModel/BaseEntity.as"/ >
< arg key = "pos" value = "281" / >
< / metadata >
< / variable >
< variable name = "title" type = "String" >
< name of metadata = "__go_to_definition_help" >
< arg key = 'file' value="/Users/jonas/projects/SCA-CMS/src/com/sca/dataModel/PresentationDataEntity.as"/ >
< arg key = "pos" value = "100" / >
< / metadata >
< / variable >
< method name = "setData" declaredBy = "com.sca.dataModel::BaseEntity" returnType ="*" > "
< parameter index = '1' type = 'Object' optional = "false" / >
< name of metadata = "__go_to_definition_help" >
< arg key = 'file' value="/Users/jonas/projects/SCA-CMS/src/com/sca/dataModel/BaseEntity.as"/ >
< arg key = "pos" value = "330" / >
< / metadata >
< / method >
< name of metadata = "__go_to_ctor_definition_help" >
< arg key = 'file' value="/Users/jonas/projects/SCA-CMS/src/com/sca/dataModel/PresentationDataEntity.as"/ >
< arg key = "pos" value = "167" / >
< / metadata >
< name of metadata = "__go_to_definition_help" >
< arg key = 'file' value="/Users/jonas/projects/SCA-CMS/src/com/sca/dataModel/PresentationDataEntity.as"/ >
< arg key = "pos" value = "42" / >
< / metadata >
< / type >Try classInfo.variable. ([email protected] (.indexOf("transient')) is
(- 1).
-
Insert the hyphen or a number to designate the child node
I have a query that returns the parent node and the children of this one up to certain level. Like this:
sort_order nodes
00001 NOde1 - parent1
0000100001 Node2 - child1of parent1
000010000100001 Node3 - child1 Node2
and so on.
How can I do thisI want to format it like this : - Node1 - parent1 -Node2 - child1 of parent1 -Node3 - child of Node2 -BNode1 -another parent -BNode2 - child of Bnode1 -BNode3 - child of Bnode1 -Bnode4 - child of Bnode3
ThnxHello
OAF - dev wrote:
Frank
You spotted correctly.
LENGTH (sort_order) = 7 for parent,
LENGTH (sort_order) = 14 to a lower level,
LENGTH (sort_order) = 21 for the lower level 2,
LENGTH (sort_order) = 28 for the 3rd level,
I did this:
, LPAD (' ', (LENGTH (temp.sort_order) * 4 / 7)-4) | '-' || MSI. Segment1 AS indented_segment1He gets the hyphen at the front, but don't be indented?
ThnxIt works for me, in SQL * more. What are front-end do you use? Could it be stripping spaces? Just for the moment, try the padding with anything other than spaces (periods may) by the way of an argument 3rd to LPAD.
I guess temp.sort_order is a VARCHAR2: is it? Display of its length.In other words, your select clause must have something like
, LPAD ( ' ' , ( LENGTH(temp.sort_order) * 4 / 7) - 4 , '.' -- For debugging ) || '-' || msi.segment1 AS indented_segment1 , LENGTH (temp_sort_order) AS len_sort_order -- For debugging
What is the result of these columns?
It is always good to post a small example data (CREATE TABLE and only relevant columns, INSERT statements) and the results that you want from this data.
-
Oracle BPEL 2.0 - add the child node
Hi guys,.
SOA 11.1.1.7, BPEL 2.0
I have a child screaming master BPEL BPEL flow flow in a ForEach loop.
I have part of the answer like this:
< caseResponses >
< caseResponse >... < / caseResponse >
< caseResponse >... < / caseResponse >
< / caseResponses >
CaseResponse items come from child BPEL flows.
I'm trying to add each of these elements in the element parent < caseResponses > but when running I get "The Exception is thrown because the in-specs on the 112 line are assessed to be empty," where the line 112 is the line append.
My code is:
< assign the name = "AppendToResponse" >
< extensionAssignOperation >
< bpelx: Add >
< bpelx: go > $InvokeHandleSingleCarglassCase_process_OutputVariable.payload / ns1:caseResponse < / bpelx: go >
< bpelx: to > $outputVariable.payload / client: caseResponses < / bpelx: to >
< / bpelx: Add >
< / extensionAssignOperation >
< / assign >
If I add a copy - just like a test rule-
< assign the name = "AppendToResponse" >
< copy >
< a > $InvokeHandleSingleCarglassCase_process_OutputVariable.payload / ns1:caseResponse < / from >
< to > $outputVariable.payload/client:caseResponses/client:caseResponse < /pour >
< / copy >
< extensionAssignOperation >
< bpelx: Add >
< bpelx: go > $InvokeHandleSingleCarglassCase_process_OutputVariable.payload / ns1:caseResponse < / bpelx: go >
< bpelx: to > $outputVariable.payload / client: caseResponses < / bpelx: to >
< / bpelx: Add >
< / extensionAssignOperation >
< / assign >
I works as expected: all caseResponse items are added and there is also one more copy activity.
What can I do so that I don't get the "The Exception is thrown because the in-specs on the 112 line are assessed to be empty" exception without copy assign?
Thank you!
By the way
Rather than add it, you can use the copy, but instead of the normal copy you must change the code a bit to something like:
$InvokeHandleSingleCarglassCase_process_OutputVariable.payload / ns1:caseResponse $outputVariable.payload / client: caseResponses[$ForEachCounter]/ client: caseResponse If you add the counter and checks that I wrote in the previous answer basically it will create a node at position x (x being the value of the counter) and the copy of your result
-
Get children nodes and only the child nodes of a tree?
Hi all
Relatively simple table
The question is how can I issue a select using the "AAAAA/1 ' and get the result ' HHHHH/1 ' «»create table replaced_parts ( old_part_number varchar(7), replaced_part_number varchar(7), updated_date date ); insert into Replaced_parts values('AAAAA/1', 'BBBBB/1', '2012-Feb-16'); insert into Replaced_parts values('BBBBB/1', 'FFFFF/1', '2012-Feb-23'); insert into Replaced_parts values('YYYYY/3', 'ZZZZZ/3', '2012-Mar-17'); insert into Replaced_parts values('FFFFF/1', 'LLLLL/1', '2012-Mar-18'); insert into Replaced_parts values('LLLLL/1', 'HHHHH/1', '2012-Mar-19');
i.e. (A-> B, B-> F, F-> L, L-> H)
Select using the "YYYYY/3 ' get ' ZZZZZ/3 ' (y-> Z)?
It would be really nice if I could also get my original value, say, "CARTER/1". "If there is no entry
for "CARTER/1 ' in the replaced_parts table (perhaps NVL?).»
I googled and tried different combinations of CONNECT BY PRIOR, ISLEAF... & c but
beat me my head on a brick wall at the present time.
TIA,
Paul...Hello
Once again, thanks for posting the CREATE TABLE and INSERT statements.
Once again, please post instructions that work. You're still trying to put VARCHAR2s in a DATE column (replaced_parts.updated_dates). There is no CREATE TABLE Or REPLACE Oracle statement.
The query you posted reference order_parts.user_number, but does not include the sample data in this column.
Be sure to post the results desired from the given sample data.Assuming that there is no branching at replaced_parts (in other words, each parent has only 1 child), you could do something like this:
SELECT O.User_Number, Op.Order_Number, Op.Part_Number, P.description, P.price, Op.Quantity_Ordered, O.Order_Date , ( -- Begin added code SELECT replaced_part_number FROM replaced_parts WHERE CONNECT_BY_ISLEAF = 1 START WITH old_part_number = op.part_number CONNECT BY old_part_number = PRIOR replaced_part_number ) FROM Order_Table O, Order_Parts Op, Parts P WHERE O.User_Number = Op.User_Number AND O.Order_Number = Op.Order_Number AND Op.Part_Number = P.Part_Number -- <----- sub-select changing the part no. if necessary should go here ;
No matter that there is no branching, you can do something like this:
WITH old_parts AS ( SELECT O.User_Number, Op.Order_Number, Op.Part_Number, P.description, P.price, Op.Quantity_Ordered, O.Order_Date FROM Order_Table O, Order_Parts Op, Parts P WHERE O.User_Number = Op.User_Number AND O.Order_Number = Op.Order_Number AND Op.Part_Number = P.Part_Number ) , new_parts AS ( SELECT CONNECT_BY_ROOT old_part_number AS orig_part_number , replaced_part_number FROM replaced_parts WHERE CONNECT_BY_ISLEAF = 1 START WITH old_part_number IN ( SELECT part_number FROM old_parts ) CONNECT BY old_part_number = PRIOR replaced_part_number ) SELECT o.* , n.replaced_part_number FROM old_parts o LEFT OUTER JOIN new_parts n ON o.part_number = n.orig_part_number ;
-
How to write a hierarchical query so that only the child nodes are displayed?
Hi all
I have a hierarchical query that I use in an area of tree demand APEX and there are nodes that have no children and I am trying to find a way to not display these nodes. Essentially if the user does not have to develop a lot of knots to know that nothing exists at the most detailed level.
The data are based on the Oracle Fusion FND tables but for example purposes here is enough data to illustrate my question:
create table APPL_TAXONOMY_HIERARCHY (SOURCE_MODULE_ID varchar2(30), TARGET_MODULE_ID varchar2(30)); create table APPL_TAXONOMY_TL (module_id varchar2(30), description varchar2(100), user_module_name varchar2(30), language varchar2(5)); create table APPL_TAXONOMY (MODULE_ID varchar2(30), MODULE_NAME varchar2(30), MODULE_TYPE varchar2(10), MODULE_KEY varchar2(30)); create table TABLES (table_name varchar2(30), module_key varchar2(30));
insert into APPL_TAXONOMY_TL values ('1', null, 'Oracle Fusion', 'US' ); insert into APPL_TAXONOMY_TL values ('2', null, 'Financials', 'US' ); insert into APPL_TAXONOMY_TL values ('3', null, 'Human Resources', 'US' ); insert into APPL_TAXONOMY_TL values ('20', null, 'Accounts Payable', 'US' ); insert into APPL_TAXONOMY_TL values ('10', null, 'General Ledger', 'US' ); insert into APPL_TAXONOMY_HIERARCHY values ('1', 'DDDDDDDD'); insert into APPL_TAXONOMY_HIERARCHY values ('2', '1'); insert into APPL_TAXONOMY_HIERARCHY values ('3', '1'); insert into APPL_TAXONOMY_HIERARCHY values ('4', '1'); insert into APPL_TAXONOMY_HIERARCHY values ('10', '2'); insert into APPL_TAXONOMY_HIERARCHY values ('20', '2'); insert into APPL_TAXONOMY values ('1', 'Fusion', 'PROD', 'Fusion'); insert into APPL_TAXONOMY values ('2', 'Financials', 'FAMILY', 'FIN'); insert into APPL_TAXONOMY values ('10', 'GL', 'APP', 'GL'); insert into APPL_TAXONOMY values ('3', 'Human Resources', 'FAMILY', 'HR'); insert into APPL_TAXONOMY values ('20', 'AP', 'APP', 'AP'); insert into tables values ('GL_JE_SOURCES_TL','GL'); insert into tables values ('GL_JE_CATEGORIES','GL');
My hierarchical query is as follows:
with MODULES as ( SELECT h.source_module_id, b.user_module_name, h.target_module_id FROM APPL_TAXONOMY_HIERARCHY H, APPL_TAXONOMY_TL B, APPL_TAXONOMY VL where H.source_module_id = b.module_id and b.module_id = vl.module_id and vl.module_type not in ('PAGE', 'LBA') UNION ALL select distinct table_name, table_name, regexp_substr(table_name,'[^_]+',1,1) from TABLES --needed as a link between TABLES and APPL_TAXONOMY union all select module_key as source_module_id, module_name as user_module_name, module_id as target_module_id from appl_taxonomy VL where VL.module_type = 'APP') SELECT case when connect_by_isleaf = 1 then 0 when level = 1 then 1 else -1 end as status, LEVEL, user_module_name as title, null as icon, ltrim(user_module_name, ' ') as value, null as tooltip, null as link FROM MODULES START WITH source_module_id = '1' CONNECT BY PRIOR source_module_id = target_module_id ORDER SIBLINGS BY user_module_name;
In Oracle APEX, this gives a tree with the appropriate data, you can see here:
https://Apex.Oracle.com/pls/Apex/f?p=32581:29 (username: guest, pw: app_1000);
The SQL of the query results are:
STATUS TITLE LEVEL VALUE ---------- ---------- ------------------------------ ------------------------------
1 1 oracle Fusion Oracle Fusion -1 2 financial tables Financials -1 3 accounts payable Accounts payable 0 4 AP AP -1 General Accounting 3 General Accounting -1 4 GL GL 0 5 GL_JE_CATEGORIES GL_JE_CATEGORIES 0 5 GL_JE_SOURCES_TL GL_JE_SOURCES_TL 0 2 human resources Human resources The lowest level is the name of the table to level 5. HR is not any level under level 2, in the same way, "AP" (level 4) has nothing below, i.e. no level 5 and that's why I don't want to show these nodes. Is this possible with the above query?
Thanks in advance for your suggestions!
John
Hello
The following query will include only the nodes of level = 5 and their ancestors (or descendants):
WITH modules LIKE
(
SELECT h.source_module_id
b.user_module_name AS the title
h.target_module_id
To appl_taxonomy_hierarchy:
appl_taxonomy_tl b
appl_taxonomy vl
WHERE h.source_module_id = b.module_id
AND b.module_id = vl.module_id
AND vl.module_type NOT IN ('PAGE', "LBA")
UNION ALL
SELECT DISTINCT
table-name
table_name
, REGEXP_SUBSTR (table_name, ' [^ _] +')
From the tables - required as a link between the TABLES and APPL_TAXONOMY
UNION ALL
SELECT module_key AS source_module_id
AS user_module_name module_name
module_id AS target_module_id
Of appl_taxonomy vl
WHERE vl.module_type = 'APP '.
)
connect_by_results AS
(
SELECT THE CHECK BOX
WHEN CONNECT_BY_ISLEAF = 1 THEN 0
WHEN LEVEL = 1 THEN 1
OF ANOTHER-1
The END as status
LEVEL AS lvl
title
-, NULL AS icon
, LTRIM (title, "") AS the value
-, NULL as ToolTip
-, Link AS NULL
source_module_id
SYS_CONNECT_BY_PATH (source_module_id - or something unique
, ' ~' - or anything else that may occur in the unique key
) || ' ~' AS the path
ROWNUM AS sort_key
Modules
START WITH source_module_id = '1'
CONNECT BY PRIOR Source_module_id = target_module_id
Brothers and SŒURS of ORDER BY title
)
SELECT the status, lvl, title, value
-, icon, tooltip, link
OF connect_by_results m
WHEN THERE IS)
SELECT 1
OF connect_by_results
WHERE the lvl = 5
AND the path AS ' % ~' | m.source_module_id
|| '~%'
)
ORDER BY sort_key
;
You may notice that subqueries modules and the connect_by_results are essentially what you've posted originally. What was the main request is now called connect_by_results, and it has a couple of additional columns that are necessary in the new main request or the EXISTS subquery.
However, I am suspicious of the 'magic number' 5. Could you have a situation where the sheets you are interested in can be a different levels (for example, some level = 5 and then some, into another branch of the tree, at the LEVEL = 6, or 7 or 4)? If so, post an example. You have need of a Query of Yo-Yo, where you do a bottom-up CONNECT BY query to get the universe of interest, and then make a descendant CONNECT BY query on this set of results.
-
The child node listening event of the parent
Is this possible? and how?parent.addEventListener ("someEvent", functionInChildComponet);
parentDocument, parentApplication, or application or...
Tracy
-
Read the column of XMLTYPE with Parent and several child nodes
Hello
I have an xmltype column which stores the data in the format below. There is possible that some of the parent node will have several child nodes. I'm not able to extract children nodes. Get the error as a value of type multiset... required singleton...
I tried the sub query, but it returns only the records from parent with children nodes.
< CrntRgstns >
< CrntRgstn empStDt = '2000-08-21' Auth = 'ABCD' regCat = 'BM' u4FlngDt = '2011-05-12' stDt = '2011-11-08' st 'EMPTY' = actvReg = "N" updateTS = "2011-11 - 08T 00: 37:42" >
< CrntDfcnys / >
< / CrntRgstn >
< CrntRgstn empStDt = '2000-08-21' Auth = 'ABCD' regCat = 'BM' u4FlngDt = '2012-01-13' stDt = '2012-01-13' st = 'DÉFICIENT' actvReg = 'Y' updateTS = "2012-01 - 13 T 18: 02:19" >
< CrntDfcnys >
< CrntDfcny dfcnyCd = "TEST" exmCd = "M10" createDt = "2012-01-13" / >
< CrntDfcny dfcnyCd = "TEST" exmCd = "X 40" createDt = "2012-01-13" / >
< / CrntDfcnys >
< / CrntRgstn >
< CrntRgstn empStDt = "2000-08-21" Auth = "XYZ" regCat = "SU" u4FlngDt = '2012-01-13' stDt = '2012-01-13' st = 'DÉFICIENT' actvReg = 'Y' updateTS = "2012-01 - 13 T 18: 02:19" >
< CrntDfcnys >
< CrntDfcny dfcnyCd = "TEST" exmCd = "M10" createDt = "2012-01-13" / >
< CrntDfcny dfcnyCd = "TEST" exmCd = "X 40" createDt = "2012-01-13" / >
< / CrntDfcnys >
< / CrntRgstn >
< / CrntRgstns >
I tried to use 2 xmltable querys and using the child node of the xmltable 1 as input to xmltable 2. But it returns only the records that has child nodes. But I wanted all the records of CrntRgstn and if no child node CrntDfcnys so that also displays.
Thank you
Vinod KI tried to use 2 xmltable querys and using the child node of the xmltable 1 as input to xmltable 2. But it returns only the records that has child nodes.
You're almost there, you just have to do an outer join:
SQL> select x1.empStDt 2 , x1.Auth 3 , x1.regCat 4 , x2.* 5 from documents t 6 , xmltable( 7 '/CrntRgstns/CrntRgstn' 8 passing t.xmldoc 9 columns empStDt date path '@empStDt' 10 , Auth varchar2(30) path '@Auth' 11 , regCat varchar2(2) path '@regCat' 12 , CrntDfcnys xmltype path 'CrntDfcnys' 13 ) (+) x1 14 , xmltable( 15 '/CrntDfcnys/CrntDfcny' 16 passing x1.CrntDfcnys 17 columns dfcnyCd varchar2(30) path '@dfcnyCd' 18 , exmCd varchar2(3) path '@exmCd' 19 , createDt date path '@createDt' 20 ) (+) x2 21 ; EMPSTDT AUTH REGCAT DFCNYCD EXMCD CREATEDT ----------- ------------------------------ ------ ------------------------------ ----- ----------- 21/08/2000 ABCD BM 21/08/2000 ABCD BM EXAM M10 13/01/2012 21/08/2000 ABCD BM EXAM X40 13/01/2012 21/08/2000 XYZ SU EXAM M10 13/01/2012 21/08/2000 XYZ SU EXAM X40 13/01/2012
Note: I have tested the above on 11.2.0.2 and it seems that there is a bug, if we add an outer join on the first XMLTable operator too.
Normally, the first outer join is not necessary, in order to also test on your version without it. -
Check the value of the attribute of a child node to xmltype data type.
Hello
I have a xml stored in the column with the data type as "XMLTYPE.
I don't want to loop in each child node. But want to know if the value of the A5 parameter is Y or N? Is there a way I can find it without making the child node extract "Setting" and then a loop of each node to find the value?<?xml version="1.0" encoding="ISO-8859-1"?> <Settings> <Setting Name="A1" Value="N"/> <Setting Name="A2" Value="N"/> <Setting Name="A3" Value="SOMEVALUE"/> <Setting Name="A4" Value="N"/> <Setting Name="A5" Value="Y"/> <Setting Name="A6" Value="N"/> </Settings>
Kind regardsYou specify your Oracle version then here are two options. If 10.2 or higher, use XMLTable, otherwise use the option of ExtractValue.
-- The WITH simply simulates your existing table that I do not have. WITH fake_tab AS (SELECT XMLTYPE('
-
Just starting to learn more about XML.
I have a simple XML I created which is
Ambient panel1 panel2 panel3 Using the XML property - child results node table of nodes in a table of 9 elements:
#text Probe #text Probe #text Probe #text Probe #text
My question is what are all the #text that are there? Should the child nodes be not just the probes?
It seems to me you may be heading down a dark path. Instead of using the "table of nodes child" and fighting through the unnecessary complications and text nodes, let me suggest you look at XPath and using "get all matched Nodes.vi ' or 'Get first match Node.vi' to get the items. XPath allows parsing XML child's play.
For example:
Of course, I hope that you use XP does not mean you use LV8.6 or earlier since the XPath screws are new to LV9.
If you use LV8.6 or earlier, I suggest looking in the .NET functions to implement XPath. Once you get the hang of it, it still beats the attempt to parse XML the old-fashioned way.
As for the editor, I generate very few XML files by hand, for the most part I bring other programs and analyse them in LV again, XPath adjusts the rough edges.
-
Retrieve the value of the XML node in XMLTable
Hello, hope that it is something simple and I went beside her, but consider this example:
How the child node of the 'name' Type?with et as( SELECT xmlType('<Invoice> <InvoiceInformation> <Number>123456</Number> </InvoiceInformation> <InvoiceLines> <InvoiceLine> <Detail> <Amount>100</Amount> <Line>1</Line> </Detail> <Type> <CheesyPotato> <Instructions> <CookTime>120</CookTime> <CookTimeUnits>Minutes</CookTimeUnits> <CookTemperature>450</CookTemperature> </Instructions> </CheesyPotato> </Type> </InvoiceLine> <InvoiceLine> <Detail> <Amount>10000</Amount> <Line>2</Line> </Detail> <Type> <DeathStar> <Instructions> <CookTime>4</CookTime> <CookTimeUnits>5 "parsecs"</CookTimeUnits> <CookTemperature>1000000</CookTemperature> </Instructions> </DeathStar> </Type> </InvoiceLine> <InvoiceLine> <Detail> <Amount>250</Amount> <Line>3</Line> </Detail> <Type> <Quiche> <Instructions> <CookTime>75</CookTime> <CookTimeUnits>Minutes</CookTimeUnits> <CookTemperature>350</CookTemperature> </Instructions> </Quiche> </Type> </InvoiceLine> </InvoiceLines> </Invoice> ') xt from dual ) SELECT ext.* FROM et, XMLTABLE( 'for $Invoice in $INV/Invoice for $InvoiceItem in $Invoice/InvoiceLines/InvoiceLine return <row> { $Invoice ,$InvoiceItem } </row>' PASSING et.xt as INV COLUMNS INVOICENUMBER VARCHAR2 (6) PATH 'Invoice/InvoiceInformation/Number' ,InvoiceLineNumber VARCHAR2 (5) PATH 'InvoiceLine/Detail/Line' ,Amount VARCHAR2 (5) PATH 'InvoiceLine/Detail/Amount' ,CookTime VARCHAR2 (5) PATH 'InvoiceLine/Type//Instructions/CookTime' ,CookTimeUnits VARCHAR2 (15) PATH 'InvoiceLine/Type//Instructions/CookTimeUnits' ,CookTemperature VARCHAR2 (10) PATH 'InvoiceLine/Type//Instructions/CookTemperature' ) ext / INVOICENUMBER INVOICELINENUMBER AMOUNT COOKTIME COOKTIMEUNITS COOKTEMPERATURE ------------- ----------------- ------ -------- --------------- --------------- 123456 1 100 120 Minutes 450 123456 2 10000 4 5 "parsecs" 1000000 123456 3 250 75 Minutes 350
I have tried different methods; along the lines of ', $InvoiceItem, Type, child, name ' does not, any help would be appreciated, thanksTypeChild INVOICENUMBER INVOICELINENUMBER AMOUNT COOKTIME COOKTIMEUNITS COOKTEMPERATURE ------------------- ------------- ----------------- ------ -------- --------------- --------------- CheesyPotato 123456 1 100 120 Minutes 450 DeathStar 123456 2 10000 4 5 "parsecs" 1000000 Quiche 123456 3 250 75 Minutes 350
Hello
You can use the name() function in the COLUMNS clause:
SQL> WITH et AS( 2 SELECT XMLType('
3 ') xt 54 FROM dual 55 ) 56 SELECT ext.* 57 FROM et 58 , XMLTable( 59 'for $Invoice in $INV/Invoice 60 for $InvoiceItem in $Invoice/InvoiceLines/InvoiceLine 61 return4 6123456 57 538 229 12100 101 1113 2114 2015 19120 16Minutes 17450 1823 3724 2710000 252 2628 3629 3530 344 315 "parsecs" 321000000 3338 5239 42250 403 4143 5144 5045 4975 46Minutes 47350 4862 { 63 $Invoice/InvoiceInformation 64 , $InvoiceItem 65 } 66
' 67 PASSING et.xt as INV 68 COLUMNS 69 typechild VARCHAR2(30) PATH 'name(InvoiceLine/Type/*)' 70 , INVOICENUMBER VARCHAR2(6) PATH 'InvoiceInformation/Number' 71 , InvoiceLineNumber VARCHAR2(5) PATH 'InvoiceLine/Detail/Line' 72 , Amount VARCHAR2(5) PATH 'InvoiceLine/Detail/Amount' 73 , CookTime VARCHAR2(5) PATH 'InvoiceLine/Type/*/Instructions/CookTime' 74 , CookTimeUnits VARCHAR2(15) PATH 'InvoiceLine/Type/*/Instructions/CookTimeUnits' 75 , CookTemperature VARCHAR2(10) PATH 'InvoiceLine/Type/*/Instructions/CookTemperature' 76 ) ext 77 ; TYPECHILD INVOICENUMBER INVOICELINENUMBER AMOUNT COOKTIME COOKTIMEUNITS COOKTEMPERATURE ------------------------------ ------------- ----------------- ------ -------- --------------- --------------- CheesyPotato 123456 1 100 120 Minutes 450 DeathStar 123456 2 10000 4 5 "parsecs" 1000000 Quiche 123456 3 250 75 Minutes 350If this does not work for your version (pre 11g), you will need to push the expression in the main XQuery expression:
... , XMLTable( 'for $Invoice in $INV/Invoice for $InvoiceItem in $Invoice/InvoiceLines/InvoiceLine return
{ element TypeChild {name($InvoiceItem/Type/*)} , $Invoice/InvoiceInformation , $InvoiceItem }
' PASSING et.xt as INV COLUMNS typechild VARCHAR2(30) PATH 'TypeChild' , INVOICENUMBER VARCHAR2(6) PATH 'InvoiceInformation/Number' ... -
Hello
I have a created a structure tree
-one
-aa
-aaa
-aaa
b
-bb
-bbb
-cc
-ccc
I followed the steps given in the message
make the tree nodes that are engaged in "BOLD"
(a)
Now if I expand the root node, then all of the child nodes automatically become "BOLD", that is if I select 'a '.
all nodes below becomes "BOLD".
-a
-aa *.
-aaa
-aaa
b
-bb
-bbb
-cc
-ccc
How can I avoid this problem what I want is the selection if 'a' only 'a' should be bold not her children
now when I select 'aa' or 'bb' only her parents must be "BOLD" not his children.
(b)
My second problem is that while the page loads for the first time his having the whole tree is in bold how prevent this from happening.If the node selected for that tree is P100_SELECTED_NODE_ITEM
Add the following code to the onload code ("run when the page loads" article on page or dynamic action shot page load)
selected_node= $('#'+$v('P100_SELECTED_NODE_ITEM')).children('a:first'); selected_node.parents('li').each( function(){ $(this).children('a:first').css('font-weight','bold'); });
Maybe you are looking for
-
I forgot my use4rname and password for windows mail?
icant connect on my e-mail account.cant to receive or send the password and username e-mail.forgot
-
Shairng private network file - files are not properly sharing
I am a small business owner. I set up a private network. Instead of sharing in the 'Public' folder, I identified individual files and does the work to ensure the sharing of files. The files are "marked" as being shared in the network and sharing Cent
-
VMmark 2.5.2 released
HelloVMmark 2.5.2 was released. This is a version of the patch to ensure that updated an existing 2.5 or 2.5.1 VMmark installation VMmark VMmark 2.5.2; It includes all the updates that are found in the VMmark 2.5.1 patch. For installation instructi
-
I'm building a set of rich media on the edge ads that its animate an extensible video component. I added a border closure button, which closes the enlarged video. However, the audio from the video continues to play in the background. Can you please h
-
I have the Tungsten E2 and Z22 palm pilots. I reinstalled the software palm 3 times, because all of a sudden my palm Pilot will not synchronize. They both sync fine/12/2008. They both do nothing when I now try to Hotsync. I am PREPARING to SYNC a