Generate lower-case nodes in XML
Hi,
In my PL/SQL procedures, I generate XML files based on SQL queries, like this:
SELECT XMLELEMENT ("web_vpreparations",
XMLAGG(
XMLELEMENT ("web_vpreparation",
XMLFOREST (CODE as "code",
COMMERCIAL_NAME as "commercial_name",
As you can see, I rename my column names to their lower-case equivalents, because the client-side application which processes the XML file expects them to be in lower-case.
I now have a huge view with hundreds of columns and would like to avoid having to rename each one. Is there a chance I can tell the PL/SQL or the SQL to return the XML nodes in lower-case?
I'll appreciate any help on this problem.
Chris.
does XMLTable exist in Oracle 9i, for some of my customers?No. XMLTable was introduced in 10g (not sure the exact version though).
What am I doing wrong?Sorry can't say. I know for sure that it works for 10.2.0.4.0:
SQL> select * from v$version where rownum = 1
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
1 row selected.
SQL> select trim(column_value) cv
from xmltable(
'for $i in ora:view("hersteller_x")/ROW[HERSTL=1]/* return element {lower-case($i/name())} {$i/text()}')
CV
<mandant>1</mandant>
<herstl>1</herstl>
<kurzbez>01FSL</kurzbez>
<name>SEMICONDUCTOR INC.</name>
<versland>D</versland>
<urland>US</urland>
<versweg>4</versweg>
7 rows selected.
Similar Messages
-
Generating mixed case columns for XML using Object views
I am trying to model a query involving joins to generate hierarchical levels for XML document. I model it with an object view with a multicast subquery and the generated XML works fine except the following :
The generated XML creates a tag <view_column_name>_ITEM for the nested multicase subquery columns in the view and all the nested subquery view columns in upper case because the underlying table columns are in upper case. To better illustrate, please see the following example :
CREATE TYPE Tillinstance_t as object (
"Tillinstanceid" number
,"Stationid" number
,"Comment" varchar2(2000)
,"DepositID" number(38)
,"TimestampCreate" date
,"UseridCreate" number
,"TimestampChange" date
,"UseridChange" number
,"TimestampClosed" date
,"UseridClosed" number
,"TimestampBalance" date
,"UserIDBalance" number )
create type insts as table of Tillinstance_t ;
CREATE OR REPLACE VIEW till_view AS
SELECT t.tillid as "TillID"
, t.description as "Descr"
, t.word as "Word"
, t.Scopetypeid as "ScopeTypeId"
, t.displayOrder as "DisplayOrder"
, t.useridcreate as "UserIDCreate"
, t.newid as "NewID"
, t.flagactive as "FlagActive"
, t.timestampcreate as "TSCR"
, t.useridcreate as "UIDCR"
, t.timestampchange as "TSCH"
, t.useridchange as "UIDCH"
, CAST( MULTISET ( SELECT i.Tillinstanceid as "TillinstanceID"
, i.stationid as "StationID"
, i.ocomment as "Comment"
, i.depositid as "DepositID"
, i.Timestampcreate as "TSCR"
, i.useridcreate as "UIDCR"
, i.Timestampchange as "TSCH"
, i.useridchange as "UIDCH"
, i.timestampclosed as "TSCL"
, i.useridclosed as "UIDCL"
, i.timestampbalance as "TSBAL"
, i.useridbalance as "UIDBAL"
FROM TillInstance i
WHERE t.tillid = i.tillid)
AS Insts)
AS "Insts"
FROM ucTill t
The generated XML shows up in the form of :
<?xml version = '1.0'?>
<Tills>
<Till TillID="1002" Descr="Till #3" Word="Till3" ScopeTypeId="8"
DisplayOrder="0" UserIDCreate="296" TSCR="3/26/2001 0:0:0" UIDCR="296"
TSCH="5/4/2001 14:12:32" UIDCH="298">
<Insts>
<Insts_ITEM TILLINSTANCEID="1278" STATIONID="1057" OCOMMENT="Morning Till3"
TIMESTAMPCREATE="3/26/2001 0:0:0" USERIDCREATE="296" TIMESTAMPCHANGE="6/7/2001
8:26:49" USERIDCHANGE="99" TIMESTAMPCLOSED="6/7/2001 8:26:49"
USERIDCLOSED="99"/>
<Insts_ITEM TILLINSTANCEID="1362" STATIONID="1057" TIMESTAMPCREATE="6/7/2001
8:27:13" USERIDCREATE="99" TIMESTAMPCHANGE="6/11/2001 11:32:58"
USERIDCHANGE="320"/>
</Insts>
</Till>
</Tills>
Now How do I stripe out the _ITEM from the generated XML and change the columns TIMESTAMPCREATE, USERIDCLOSED etc to mixed case?
Any ideaI could generate the mixed case columns with no problem. It was my mistake and sorry for the inconvinience.
However I am running into problems modelling a nested hierarchical set of queries with levels more than 2.
Please advise of any sample code available anywhere.
For example I could do :
create table x1 ( id number , f1 varchar2(10));
creat table x2 ( id number , id_x1 number references x1(id) , f1 varchar2(10)) ;
create table x3 ( id number , id_x2 number references x2(id), f1 varchar2(10)) ;
To model this, I did
create type x3_typ as object ( id number, id_x2 number , f1 varchar2(10)) ;
create type x3_typ_t is table of x3_typ ;
create type x2_typ as object ( id number, id_x1 number , f1 varchar2(10), x3_list x3_typ_t ) ;
create type x2_typ_t is table of ref x2_typ ;
create type x1_typ as object ( id number
, f1 varchar2(10) , x2_list x2_typ_t ) ;
create or replace view x3_x2 as
select id , f1 , cast(multiset(select * from x3 ) as x3_typ_t ) as x3_list
If I try to use a view again like as given below, I get the Oracle inconsistent datatypes error.
create or replace view x2_x1 as
select id , f1 , cast(multiset(select * from x3_x2 ) as x2_typ_t ) as x2_list
I there a better way? Am I missing something? Please help. -
Safari XML parser converts attributes to lower case?
I am trying to create and serialize XML documents using Safari 2.01. It appears that during this process, XML attributes are always converted to lower case. Since XML is case sensitive, this causes errors when mixed case is expected. My sample code (below) works properly (attributes not converted to lower case) in FireFox, Netscape, etc.
Questions are:
Is there a way to load/serizlize XML in Safari so that this does not happen?
If not, is this behavior by design or is it a bug? Will this be changed in future versions?
Thanks for any assistance!
Sample code:
// Create XML document
var xmlString = '<Test MixedCase="test">SomeText</Test>'
var parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlString, "text/xml");
// Get XML text
var serializer = new XMLSerializer();
text = serializer.serializeToString(xmlDoc);
IBM Thinkpad T40 Windows 2000
IBM Thinkpad T40 Windows 2000
Windows XP
Mac OS X (10.2.x)
Mac OS X (10.0.x)Are you sure the parser is changing the element names?
(You didn't really mean "attributes", did you?) If it
is, then that's a bug in the parser. Element names in
XML are case-sensitive, i.e. they can be upper or
lower case or any mixture of cases. There aren't
supposed to be any "features" that let you fiddle with
the case of element names.
If you told me that you were using a Transformer to
produce HTML, and that it was outputting <TR>, I
wouldn't be surprised. Especially since XALAN is a
transformer and not a parser. I would just suggest in
that case that you should change your output method
from HTML to XML, and to output <tr>. A Transformer
won't change the case of element names if the output
method is XML, but it may if the output method is
HTML.Thanks for the response. Sorry about the vernacular mixup there.
Here is our situation:
javax.xml.parsers.SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
parser.parse(InputSource is, HandlerBase hb) <-- noted that this is a deprecated method
This parse method here turns the html elements upper case.
I have experimented with setting the XMLReader on the parser as a HTMLSerializer and XHTMLSerializer with no luck in changing the outcome.
Hope this clears things up a bit more. -
XML element names required in lower case
Hi,
I am on release 4.6C
I create an XML file from internal table using FM SDIXML_DATA_TO_DOM and SDIXML_DOM_TO_XML.
The internal table is defined such that the fieldnames of internal table are same as element names in XML file.
The XML file gets created properly, but the element names appear in upper case.
The requirement is to have it in lower case.
Does anybody have any idea about how to control the case here?Hi Sudhir
you can convert field names manually using translate command to convert it to lower case.
hope this helps. -
Hibernate for lower case data(case sensitive) in oracle 10G
Hi,
I generated my data (oracle 10G release 2) using lowercase data types and table names. This requires queries in the strict form of -
Select "Column_Name" from "Table_name";
But Hibernate makes the queries as -
Select Column_Name from Table_Name;
driver I am using is oracle.jdbc.driver.OracleDriver
Jar is ojdbc14
and dialect is org.hibernate.dialect.Oracle9Dialect
The problem is:
table or view does not exist.
as it(lower case data) does not recognize the hibernate query format.
Can anyone suggest the proper driver and Jar to overcome the problem.
Regards,
AnkitAnkit,
Just bite the bullet and don't use case-sensitive identifiers :-)
I don't use "hibernate", but maybe you can add the double-quotes -- " -- in the XML file?
I don't think there's a JDBC driver that adds the double-quotes for you. So I think your only option (if you insist on using case-sensistive identifiers) is to explore possibilities through "hibernate" itself.
I also don't think there's any database setting that allows Oracle to accept case-sensitive identifiers.
Good Luck,
Avi. -
Wsdeploy generates upper case method calls
Hi all,
I'm using
wsdeploy -tmpdir build\server -keep -o dist\adresse.war build\adresse_prepare.war -verbose
to generate the server part of my webservice.
This one put the method call of my only interface call
getAdresse(String bla)
to upper cases in all generated classes. So far this doesn't seem to be a problem cause the service is active and seems to work but if I try to generate the client side with
wscompile -gen:client -d build/client -keep -verbose config.xml
and direct access to the wsdl-file via the service all client classes are generated with lower case method call.
Now trying to call the service with the client stubs I get a class not found exception on the server side cause the server seems to be instructed to search for lower case method call classes.
The generated wsdl file exists of lower case method calls.
I'm getting mad...
Please help
OliverSame problem with the simple hello application....if someone of the creators of this wonderful tool is listening please give me a hint where to look at...I'm really drivin' crazy...
java.lang.NoClassDefFoundError: hello/HelloIF_SayHello_RequestStruct (wrong name: hello/HelloIF_sayHello_RequestStruct)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1274)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313) -
Lower case in variable substitution
Hi experts,
in my scenario I have a receiver CC that put an xml file in a target server.
The requirement is to dynamically determine target directory based on a field on mapping header.
I have used variabile substitution to retrieve the value of the field, and with %% i have put this value on field target directory.
The problem is: value from mapping is in capital letter, but the name of the target directory in which I have to put the file is in lower case letters, and target server is case sensitive.
Obviously I cannot change value in mapping, but I need to put variable in variable substituion in lower letters.
Is it possible?
Thanks
FabioFabio Boni wrote:
Hi,
> I don't want to make changes on mapping, is not possible to put lower case in variable substituion?
> Thanks
> Fabio
no
also in case you want to put small case in variable substitution why cant you use dynamic configuration and set the values to lower case? -
Do you need to generate HTML table rows from XML in InDesign?
General issue: you export XML and you get a bunch of content for xml elements that were a table in inDesign. But they don't have any rows, just cell after cell. What will make rows in your output?
Solution: XSLT; you need to use the @aid:tcols attribute of exported XML to determine the number of columns that your table should be. This is written in XSLT 1.1 so it shoud work with an export from InDesign. If you have problems with using it on export of XML, try using it on the XML afetr it has been exported, in Oxygen or other XSLT processor. Best to save acopy of your files before using the XSLT with them. Copy all of the plain text and past into a new file, save with your own filename, ending with .xsl file extension. Then when exporting XML from InDesign CS3-5, browse to your new .xsl file and select it. PLEASE read about XSLT files at w3c.schools or other resource if you want to understand what is going on with this file.
BTW <!-- indicates comments in code -->
<?xml version="1.0" encoding="UTF-8"?>
<!-- NO WARRANTY that this example code will work as written for your XML file in InDesign. You can add more templates to the output to map your heading styles to h1, h2, etc. -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/"
xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/" exclude-result-prefixes="xsl aid aid5">
<xsl:output method="html" indent="yes" encoding="UTF-8"
doctype-public="http://www.w3.org/TR/xhtml/DTD/xhtml-transitional.dtd"/>
<!-- parameter to use the name of element with attribute aid:theader as the th output -->
<xsl:param name="tableElem">//*[local-name()][@aid:table='table']</xsl:param>
<xsl:param name="colheadStyle">
<xsl:value-of select="//*[local-name()][@aid:theader][1]"/>
<!-- i.e. colHead-->
</xsl:param>
<!-- parameter to use the name of element with attribute aid:cell but not aid:theader as the td output -->
<!--i.e. tabletext or whatever the name of your Cell level element is in InDesign -->
<xsl:param name="cellStyle">
<xsl:value-of select="//*[local-name()][@aid:table='cell' and not(@aid:theader)][1]"/>
</xsl:param>
<!-- handles a Story element marked up with HTML-type elements, but uses the <Table> element of IDD -->
<!-- if a true HTML table is in the content, it will be passed through -->
<xsl:template match="Story"><!-- make a basic HTML file from a Story -->
<html>
<head>
<title>Sample Table</title>
</head>
<body>
<xsl:apply-templates><!-- will handle direct text of the <Story>, and <Table> -->
<xsl:with-param name="colheadStyle" select="$colheadStyle"/>
<xsl:with-param name="cellStyle" select="$cellStyle"/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<!-- use the styles to find the elements of IDD <Table> element -->
<xsl:template match="Table">
<xsl:param name="colheadStyle">
<xsl:value-of select="$colheadStyle"/>
</xsl:param>
<xsl:param name="cellStyle">
<xsl:value-of select="$cellStyle"/>
</xsl:param>
<xsl:variable name="cellsPerRow">
<xsl:value-of select="@aid:tcols"/>
</xsl:variable>
<table><!-- start the table -->
<!-- xhtml requires lower-case name for table element-->
<tr>
<xsl:apply-templates select="*[@aid:theader='']">
<xsl:with-param name="colheadStyle" select="$colheadStyle"/>
<xsl:with-param name="cellStyle" select="$cellStyle"/>
</xsl:apply-templates>
</tr>
<!-- and @aid:style=$cellStyle -->
<xsl:for-each
select="*[@aid:table='cell'][not(@aid:theader='')][position() mod $cellsPerRow = 1]">
<!-- some code adapted with permission, from http://www.computorcompanion.com/LPMArticle.asp?ID=202
Building HTML Tables with XSL by James Byrd; please include this acknowledgement in all files that use his code -->
<!-- this is the tricky bit of the code that James Byrd set up
p-class-tabletext-[position() mod $cellsPerRow = 1 continues looping until the position of the active element divided by $cellperRow (@aid:tcols value) tried with [@aid:style=$cellStyle] has a remainder of 1 -->
<!-- .|following-sibling::p-class-tabletext-[position() < $cellsPerRow] applies first to the currently selects cell with "." then continues with the following-siblings whose position is less than the value of cells per row (@aid:tcols value) -->
<tr>
<xsl:apply-templates
select=".|following-sibling::*[@aid:table='cell'][not(@aid:theader='')][position() < $cellsPerRow]"
/>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="*">
<xsl:param name="colheadStyle">
<xsl:value-of select="$colheadStyle"/>
</xsl:param>
<xsl:param name="cellStyle">
<xsl:value-of select="$cellStyle"/>
</xsl:param>
<xsl:variable name="cellsPerRow">
<xsl:value-of select="parent::Table/@aid:tcols"/>
</xsl:variable>
<xsl:choose>
<!-- colHead aid:table="cell" aid:theader=""-->
<xsl:when test="parent::Table and @aid:theader">
<th>
<xsl:apply-templates>
<xsl:with-param name="colheadStyle" select="$colheadStyle"/>
<xsl:with-param name="cellStyle" select="$cellStyle"/>
</xsl:apply-templates>
</th>
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)">
<xsl:call-template name="FillerCells">
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/>
</xsl:call-template>
</xsl:if>
</xsl:when>
<xsl:when test="parent::Table and @aid:table='cell' and not(@aid:theader)">
<td>
<xsl:apply-templates>
<xsl:with-param name="colheadStyle" select="$colheadStyle"/>
<xsl:with-param name="cellStyle" select="$cellStyle"/>
</xsl:apply-templates>
</td>
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)">
<xsl:call-template name="FillerCells">
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/>
</xsl:call-template>
</xsl:if>
</xsl:when>
<!-- for non-table elements this generic element handler will pick up an aid:pstyle (if present) and create a class attribute from it. Works for any element that has the same name as HTML element such as <p> but it doesn't add wrapper elements like <ul> or <ol> for lists. -->
<xsl:otherwise>
<xsl:element name="{name()}">
<xsl:if test="@aid:pstyle">
<xsl:attribute name="class">
<xsl:value-of select="@aid:ptyle"/>
</xsl:attribute>
</xsl:if>
<xsl:apply-templates>
<xsl:with-param name="colheadStyle" select="$colheadStyle"/>
<xsl:with-param name="cellStyle" select="$cellStyle"/>
</xsl:apply-templates>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- take care of text that is a direct child of the <Story> by wrapping it in a <p> to make valid HTML -->
<xsl:template match="text()">
<xsl:variable name="myString">
<xsl:value-of select="string-length(normalize-space(.))"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="parent::Story">
<xsl:if test="$myString > 0">
<xsl:element name="p">
<xsl:attribute name="class">text</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="normalize-space(.)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- make br element conform to good HTML markup -->
<xsl:template match="br">
<br />
</xsl:template>
<!-- this recursive template calls itself until its test condition is satified -->
<!-- it outputs a cell whose only content is a non-breaking space -->
<!-- do not use in place of Unicode   for the non-breaking space -->
<!-- the value of $cellCount is set in the main XSL template -->
<xsl:template name="FillerCells">
<xsl:param name="cellCount"/>
<td> </td>
<xsl:if test="$cellCount > 1">
<xsl:call-template name="FillerCells">
<xsl:with-param name="cellCount" select="$cellCount - 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Message was edited by: HoneoyeFalls
Sample XML file exported from IDD
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Story><Table xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/" aid:table="table" aid:trows="2" aid:tcols="2"><colHead aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid:ccolwidth="44">1 colHead</colHead><colHead aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid:ccolwidth="56">2 colHead</colHead><tabletext aid:table="cell" aid:crows="1" aid:ccols="1" aid:ccolwidth="44">1 tabletext</tabletext><tabletext aid:table="cell" aid:crows="1" aid:ccols="1" aid:ccolwidth="56">2 tabletext</tabletext><tabletext aid:table="cell" aid:crows="1" aid:ccols="1" aid:ccolwidth="44">row 2 1 tabletext</tabletext><tabletext aid:table="cell" aid:crows="1" aid:ccols="1" aid:ccolwidth="56">row 2 2 tabletext</tabletext></Table>
<table><tr><th>normal HTML table heading</th></tr>
<tr><td>normal HTML table<br/>cell text</td></tr></table></Story>You can use RECORD type declaration:
SQL> declare
2 type rec_type is record (
3 ename emp.ename%type,
4 sal emp.sal%type
5 );
6 type rc is ref cursor return rec_type;
7 rc1 rc;
8 rec1 rec_type;
9 begin
10 open rc1 for select ename, sal from emp;
11 loop
12 fetch rc1 into rec1;
13 exit when rc1%notfound;
14 dbms_output.put_line(rec1.ename || ' ' || rec1.sal);
15 end loop;
16 close rc1;
17 end;
18 /
SMITH 800
ALLEN 1600
WARD 1250
JONES 2975
MARTIN 1250
BLAKE 2850
CLARK 2450
SCOTT 3000
KING 5000
TURNER 1500
ADAMS 1100
JAMES 950
FORD 3000
MILLER 1300or use, for example, VIEW to declare rowtype:
SQL> create view dummy_view as select ename, sal from emp;
View created.
SQL> declare
2 type rc is ref cursor return dummy_view%rowtype;
3 rc1 rc;
4 rec1 dummy_view%rowtype;
5 begin
6 open rc1 for select ename, sal from emp;
7 loop
8 fetch rc1 into rec1;
9 exit when rc1%notfound;
10 dbms_output.put_line(rec1.ename || ' ' || rec1.sal);
11 end loop;
12 close rc1;
13 end;
14 /
SMITH 800
ALLEN 1600
WARD 1250
JONES 2975
MARTIN 1250
BLAKE 2850
CLARK 2450
SCOTT 3000
KING 5000
TURNER 1500
ADAMS 1100
JAMES 950
FORD 3000
MILLER 1300 Rgds. -
Lower case tag names in XSQL query
XSQL queries appear to default all column tag names to upper case, even when you specifically use lower case characters. Is there any way to get them into lower case?
For example,
<?xml version="1.0"?>
<test connection="devel" xmlns:xsql="urn:oracle-xsql">
<xsql:query rowset-element="" row-element="" null-indicator="yes">
select 'hello' as hi from dual
</xsql:query>
</test>
Results in,
<?xml version="1.0" ?>
<test>
<HI>hello</HI>
</test>
I would really like to get <HI> to <hi>...
thanks.You can also preserve case by putting quotes around the column alias:
For example,
<?xml version="1.0"?>
<test connection="devel" xmlns:xsql="urn:oracle-xsql">
<xsql:query rowset-element="" row-element="" null-indicator="yes">
select 'hello' as "hi"
, 'Hello' as "Hi"
, 'HELLO' as "HI"
from dual
</xsql:query>
</test>
This way you can also get mixed case. -
Maps: How to generate a single node from multiple nodes
Hi,
I have a problem while mapping. I have a large complex input schema through which I generate a flat file output. I have used map for creating the output. Below is the
output and expected output.
Output:
E,651,120,3999,2013-12-01,2013-12-25,25,556,0.00,0
E,652,120,3901,2013-12-01,2013-12-27,27,6176.25,0.00,0
SR,17,120,2013-12-25,2022,122013,2,6732.25,1,01389399501
SR,17,120,2013-12-27,2022,122013,2,6732.25,1,01389399501
Expected Output:
E,651,120,3999,2013-12-01,2013-12-25,25,556,0.00,0
E,652,120,3901,2013-12-01,2013-12-27,27,6176.25,0.00,0
SR,17,120,2013-12-27,2022,122013,2,6732.25,1,01389399501
There should always be one SR node. The node which should be present should be the one which has maximum DATE. While mapping how can I check before hand that there will be more DATE values coming and then map only latest. It’s a complex mapping so I’m looking
for a simple solution.
I want some conditions like while generating output SR Node, if there will be various SCR nodes in output then select the node with maximum date value in insert that in output.
Thanks.Thanks for the detailed response Aswin. It's very helpful. Please help in one more condition, sometimes there could be multiple SR with same Date. In that case SR is still repeating as all are equal so above maximun logic is creating n nodes. Eg:
Output:
E,651,120,3999,2013-12-01,2013-12-25,25,556,0.00,0
E,652,120,3901,2013-12-01,2013-12-27,27,6176.25,0.00,0
SR,218,504420120,2013-10-04,0451,102013,1,393.85,AD,501
SR,218,504420120,2013-10-04,0451,102013,1,393.85,AD,501
Expected Op:
E,651,120,3999,2013-12-01,2013-12-25,25,556,0.00,0
E,652,120,3901,2013-12-01,2013-12-27,27,6176.25,0.00,0
SR,218,504420120,2013-10-04,0451,102013,1,393.85,AD,501
So, if there are maximum in that cas select max, which is working now and if they are same then any one of those. -
Interactive Report Download - filenames always in lower case
I've written an interactive report in Apex v4.0.2 and have set the CSV download option to use a filename of "One_Two_Three" (note the capitalization).
However when the CSV file is generated, the filename is "one_two_three" - all in lower case. I've tried using substitution variables in the filename and this doesn't make any difference.
Is there a way to stop conversion to lowercase ? Is it possible to intercept or override something to allow even greater control the filename ?
thanks
AndyWell, found some answers after some more trial and error.
1.) Country settings messed up my csv format. After changing the default column separator in the report attributes, things now look as expected.
2.) One can rather easily suppress the format signs by using the sql replace functionality, e.g.
SELECT REPLACE (my_column, CHR(10),' ') FROM my_table
And it is actually quite a difference if you use text area or rich text fields when it comes to the usage of the breaks.
Cheers,
Martin -
TopLink map a field which name in low case
I used Oracle ADF to modeling my database table. My table name and all filed names are in low cases. I used TopLink Create Java Objects from Tables wizard to crate Java objects from my table, and created map. In the TopLink mapping, the query keys are in low cases. But when my session bean execute the named query, the query statement from executeQuery doesn't put double quotes around the filed name and table name. The query statement like: select name from space. So it will cause error like "java.sql.SQLException: ORA-00942: table or view does not exist". The query statement should like:
select "name" from "space";
Can anyone tell me where to edit the mapping or customize code to put double quotes around field name and table name?I'm not sure if the JDev UI has an option to output table and field names with quotes. You could use a SessionCustomizer in your TopLink sessions.xml file to iterate over the Session's descriptors and change each of their table and field names to include the " character.
In general you will make you life much easier if you just create the tables and field using normal upper case or case insensitive names.
It would be nice to have an easier way to quote all table and field names, please feel free to log this issues on EclipseLink Bugzilla.
James : http://www.eclipselink.org -
Source file containing lower case characters
Hi,
My source file contains lower case characters.
I've already check the tickbox for lower case characters
for the corresponding infoobject.
But still getting the same error while loading.
Anyone pls. tell me what am I missing.
Regards
Tarun
Message was edited by:
Tarun Sharma
Message was edited by:
Tarun SharmaTo permit lower case you need to have it enabled in infoobject and also use ALL_CAPITAL in rskc . After changing the infoobject you should activate the transfer / update rules and also the data target i.e. the either infoobject / ods / infocube as the case may be as the lower case check is there in generated programs for data load which need to be adjusted.
Regards.
Sanjay -
How to Force JHS do not generate navigation cases for Groups?
Hello
I have already seen "Overwrite faces-config and navigation rules " property for Group in JhsApp deff .But It does not work .How Force JHS do not generate navigation cases for Groups? and another question is that how can I customize navigation case generation in JheadStart?
ThanksHi,
You are right: the navigation rules in the main faces-config file are overwritten, even if you uncheck these flags. Here is the solution:
If you want to preserve some of the navigation rules in the main faces config: alter the velocity template for faces-config. You can only switch off the entire generation of faces-config.xml; not individual parts.
If you want to add a special navigation rule: add it to the group faces config file.
If you want to preserve post-generation changes to the group faces config file: uncheck 'generate controller group?' or put it in the templates for that group.
Note: the flag 'Overwrite Faces-Config beans and Navigation Rules?' has become obsolete, you should only use 'Generate Controller Group?'.
Regards,
Evert-Jan de Bruin
JHeadstart Team -
How to read the content in one node of XML in Java? Pls help
My dear brothers,
I am a newbie of XML, I have a exercise which is creating a Tree View from XML file. But the trouble is I do not know how to read the content in one node of XML file. I decide to use the algorithm as following:
1. Create a GUI form which gives the ability for user to choose a XML file (ok)
2. Load XML and return the file (ok)
3. Read the file from node to node to create the node in Tree View (?!)
Please help me, and if you are enough kind, please give me an small example to easy understand. Thanks in advance.
Hoang Yen BinhI hope this one helps you.
<ABC Type="ProductBased" ProdName="One" Location="India">
<CEO>Raj</CEO>
<Finance>Vikram</Finance>
<HR>Karthik</HR>
<Technical>Satish</Technical>
</ABC>
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Attr;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.DOMException;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import java.io.File;
import java.io.IOException;
public class XmlReading {
Document doc;
Element element;
public static void main(String[] args) throws Exception{
XmlReading xr = new XmlReading();
xr.getXmlParser(args);
public void getXmlParser(String[] args) {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
if(args.length != 1) {
System.err.println("Argument Required");
try {
DocumentBuilder builder = factory.newDocumentBuilder();
doc = builder.parse(new File(args[0]));
}catch(ParserConfigurationException e1) {
}catch(SAXException e2) {
}catch(IOException e3) {
getAttributes();
public void getAttributes() {
// Retrive the entire Document from the Dom Tree
element = doc.getDocumentElement();
// System.out.println(element);
NamedNodeMap attrs = element.getAttributes();
// Get number of attributes in the element
int numAttrs = attrs.getLength();
// Process each attribute
for (int i=0; i<numAttrs; i++) {
Node node = attrs.item(i);
// Get attribute name and value
String attrName = node.getNodeName();
String attrValue = node.getNodeValue();
System.out.println(attrName + ": " + attrValue);
String s1 = element.getTagName();
System.out.println(s1);
// To get all the elements in a DOM Tree
NodeList nl1 = element.getElementsByTagName("*");
int i2 = nl1.getLength();
System.out.println(i2);
for(int i=0; i<i2; i++) {
System.out.println(nl1.item(i) + "\n");
}
Maybe you are looking for
-
Need some help about i18n on Redhat 71. with Oracle 8.1.7
Initally I used Redhat 7.0 with Oracle 8.1.7, everything had worked find until I upgrade my system to Redhat 7.1. I have no idea about Redhat locate setting. Well, I use NLS_LANG=TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5 to inital database . some characte
-
How to get screen to rotate?
How to get screen to rotate on home screen when iPad can? To hard to program? Shouldn't all apps and programs have this ability?
-
ABAP Central Service not available alert in Technical Monitoring
Hi Gurus, Need help with this alert which i am getting from Solman 7.1 SP10. ABAP Message Server Status XXX-ABAP 3 3 3 No process found for: msg_server(.*) I have already checked following notes but no luck 1419603 - Missing ABAP SAP Central Services
-
We just purchased and setup the WRV210 VPN router, but we are having a major issue with it. We are running a mail server behind the VPN router, but we can no longer connect to it through Outlook. We forwarded all of the appropriate ports but still ca
-
So far my Leopard install has been pretty dismal. I clicked on the archive install but it did a regular install over 10.4.10. While installing, it erased my iCal calendars. When I reinstall them, it loses all my data whenever I quit iCal. Anyone out