How can i dynamically generate an xslt based an XML?
i have an XML file,i've designed the displaying style.
now,i wanna generate an xslt file from XML files that have different nodeNames.
what to do?
is there any JAVA API who can implement the idea?
thanks to whom giving any hint:)
ooooh, I see!
you can achieve this with one single universal XSL:<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="text"/>
<xsl:template match="query">
<xsl:apply-templates select="result[1]/@*" mode="heading"/>
<xsl:text disable-output-escaping="yes"> </xsl:text>
<xsl:apply-templates select="result" mode="value"/>
</xsl:template>
<xsl:template match="@*" mode="heading">
<xsl:value-of select="local-name(.)"/>
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="result" mode="value">
<xsl:apply-templates select="@*" mode="value"/>
<xsl:text disable-output-escaping="yes"> </xsl:text>
</xsl:template>
<xsl:template match="@*" mode="value">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
</xsl:template>
</xsl:stylesheet>fun stuff, nope?
Similar Messages
-
How can I dynamically reference a sheet based upon the contents of a cell
I'm using Numbers to store specifications for various products. Each sheet stores specifications in a standard manner (i.e. same table and cell names) and the sheet is named according to the name of the product.
On another sheet I've got a dropdown list containing the names of the product tabs. I'd like to dynamically pull data for a particular product when it's sheet is selected in the dropdown list by using the dropdown cell in a reference like:
=B1::STC::A4, where B1 is the dropdown list and STC::A4 is the product specification table and cell reference.
When I use this, the B1 reference fails.
Any suggestions would be greatly appreciated.
Thanks.Amos,
you will have to use the indirect function to convert the string you are creating into a valid reference.
Note: The Sheet names, Table names and cell references must all match exacty.
If the sheets are named "B1", "C1" and "D1" and the popup menu is in the cell A1 and contains the strings:
B1
C1
D1
The table name is "STC"
then you can create a valid reference like this:
= indirect(A1&"::STC::A4")
if the table name were also dynamic and were stored in cell A2 you could create the reference like this:
= indirect(A1&"::"&A2&"::A4") -
How can I dynamically specify a Column Name in a Where Clause of a DB
I have a page that query the Database based on the column Name and values entered by the user. on this page I have a drop down list of all the Column names and a text field. The user can choose from any of the dropdown list option to set the column Name and also enter a value.How can I dynamically pass the option choosed by the user from the drop down list to the dataProvider in seesionBean1 as a column Name???Help
Hi,
This is a working example of a search form.
In the JSP page we have several texts box, a table bound to a DataProvider with the rowSet in the SessionBean and a search button.
JSP source:
<ui:body binding="#{PackageAirtime.body1}" id="body1">
<ui:form binding="#{PackageAirtime.form1}" id="form1">
<table border="0">
<tr>
<td>
<table border="0" width="100%">
<tr>
<td>
<ui:label binding="#{PackageAirtime.pageTitle}" id="pageTitle" text="Package Airtime"/>
<br/>
<br/>
</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td>Package ID:</td>
<td>
<ui:textField binding="#{PackageAirtime.textPackageID}"
id="textPackageID"/>
<ui:button
binding="#{PackageAirtime.buttonPackageID}" id="buttonPackageID"
onClick="handlePackageIDPopup(); return false;" text="..." toolTip="Open package locator"/>
</td>
</tr>
<tr>
<td>Airtime Code:</td>
<td>
<ui:textField binding="#{PackageAirtime.textAirtimeCode}"
id="textAirtimeCode"/>
<ui:button
action="#{PackageAirtime.buttonAirtimeCode_action}"
binding="#{PackageAirtime.buttonAirtimeCode}" id="buttonAirtimeCode"
onClick="handleAirtimeCodePopup(); return false;" text="..." toolTip="Open airtime code locator"/>
</td>
</tr>
<tr>
<td></td>
<td>
<ui:button action="#{PackageAirtime.searchButton_action}" binding="#{PackageAirtime.searchButton}"
id="searchButton" text="Search" toolTip="Search records"/>
</td>
</tr>
</table>
<br/>
<ui:staticText binding="#{PackageAirtime.staticTextSearchResults}" id="staticTextSearchResults"/>
<br/>
<ui:table binding="#{PackageAirtime.searchResults}" id="searchResults" paginationControls="true">
<script>
/* ----- Functions for Table Preferences Panel ----- */
* Toggle the table preferences panel open or closed
function togglePreferencesPanel() {
var table = document.getElementById("form1:table1");
table.toggleTblePreferencesPanel();
/* ----- Functions for Filter Panel ----- */
* Return true if the filter menu has actually changed,
* so the corresponding event should be allowed to continue.
function filterMenuChanged() {
var table = document.getElementById("form1:table1");
return table.filterMenuChanged();
* Toggle the custom filter panel (if any) open or closed.
function toggleFilterPanel() {
var table = document.getElementById("form1:table1");
return table.toggleTableFilterPanel();
/* ----- Functions for Table Actions ----- */
* Initialize all rows of the table when the state
* of selected rows changes.
function initAllRows() {
var table = document.getElementById("form1:table1");
table.initAllRows();
* Set the selected state for the given row groups
* displayed in the table. This functionality requires
* the 'selectId' of the tableColumn to be set.
* @param rowGroupId HTML element id of the tableRowGroup component
* @param selected Flag indicating whether components should be selected
function selectGroupRows(rowGroupId, selected) {
var table = document.getElementById("form1:table1");
table.selectGroupRows(rowGroupId, selected);
* Disable all table actions if no rows have been selected.
function disableActions() {
// Determine whether any rows are currently selected
var table = document.getElementById("form1:table1");
var disabled = (table.getAllSelectedRowsCount()>0)?false : true;
// Set disabled state for top actions
document.getElementById("form1:table1:tableActionsTop:deleteTop").setDisabled(disabled);
// Set disabled state for bottom actions
document.getElementById("form1:table1:tableActionsBottom:deleteBottom").setDisabled(disabled);
}</script>
<f:facet name="title">
<ui:staticText binding="#{PackageAirtime.table1Title}" id="table1Title" text="Package Airtime search results"/>
</f:facet>
<ui:tableRowGroup binding="#{PackageAirtime.tableRowGroup1}"
emptyDataMsg="No records matching the search criteria" id="tableRowGroup1"
sourceData="#{PackageAirtime.s23_package_airtimeDataProvider}" sourceVar="currentRow">
<ui:tableColumn binding="#{PackageAirtime.tableColumn1}" headerText="Package ID" id="tableColumn1" sort="S23_PACKAGE">
<ui:staticText binding="#{PackageAirtime.staticText1}" id="staticText1" text="#{currentRow.value['S23_PACKAGE']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{PackageAirtime.tableColumn2}" headerText="Airtime Code" id="tableColumn2" sort="S23_AT_CODE">
<ui:staticText binding="#{PackageAirtime.staticText2}" id="staticText2" text="#{currentRow.value['S23_AT_CODE']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{PackageAirtime.tableColumn7}" headerText="Prepaid Value" id="tableColumn7">
<ui:staticText binding="#{PackageAirtime.staticText6}" id="staticText6" text="#{currentRow.value['SUBR_AT_PREPAID_PERIOD_VAL']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{PackageAirtime.tableColumn8}" headerText="Prepaid Type" id="tableColumn8">
<ui:staticText binding="#{PackageAirtime.staticText7}" id="staticText7" text="#{currentRow.value['SUBR_AT_PREPAID_TYPE']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{PackageAirtime.tableColumn4}" headerText="Start" id="tableColumn4" sort="PRSM_PK_START">
<ui:staticText binding="#{PackageAirtime.staticText3}" id="staticText3" text="#{currentRow.value['PRSM_PK_START']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{PackageAirtime.tableColumn5}" headerText="End" id="tableColumn5">
<ui:staticText binding="#{PackageAirtime.staticText4}" id="staticText4" text="#{currentRow.value['PRSM_PK_END']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{PackageAirtime.tableColumn6}" headerText="Units" id="tableColumn6">
<ui:staticText binding="#{PackageAirtime.staticText5}" id="staticText5" text="#{currentRow.value['PRSM_PK_UNITS']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{PackageAirtime.tableColumn9}" headerText="Carry-over limit" id="tableColumn9" valign="Top">
<ui:staticText binding="#{PackageAirtime.staticText8}" id="staticText8" text="#{currentRow.value['ROM_PLAN_CARRY_LMT']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{PackageAirtime.tableColumn3}" headerText="Details" id="tableColumn3" width="100">
<ui:hyperlink action="#{PackageAirtime.viewpackageAT_action}" binding="#{PackageAirtime.hyperlink1}"
id="hyperlink1" text="View"/>
</ui:tableColumn>
</ui:tableRowGroup>
</ui:table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</ui:form>
</ui:body>
...JAVA source:
public void prerender() {
search_action();
public String search_action() {
try {
String command = "SELECT s23_package, s23_at_code, prsm_pk_start, prsm_pk_end, prsm_pk_units, subr_at_prepaid_period_val, subr_at_prepaid_type, subr_disc_type, subr_disc_rate, subr_disc_value, subr_disc_perm, subr_at_prepaid_bill_per_val, subr_at_prepaid_recurring, s23_package_fwd, s23_at_code_fwd, prsm_pk_start_fwd, subr_ppa_infinite, subr_ppa_carry_over, rom_plan_carry_lmt FROM s23_package_airtime, ROM_23_PPLAN_COMP where rom_23_pack_plan = s23_package";
String where = "";
String packageID = (String)textPackageID.getText();
if (packageID == null) {
packageID = "";
packageID = packageID.replace("'", "''");
if (packageID != "") {
if (where != "") {
where += " AND ";
where += "upper(S23_PACKAGE) LIKE upper('" + packageID + "%')";
String airtimeCode = (String)textAirtimeCode.getText();
if (airtimeCode == null) {
airtimeCode = "";
airtimeCode = airtimeCode.replace("'", "''");
if (airtimeCode != "") {
if (where != "") {
where += " AND ";
where += " upper(S23_AT_CODE) LIKE upper('" + airtimeCode + "%')";
if (where != "") {
command += " AND " + where;
this.getSessionBean1().getS23_package_airtimeRowSet().setCommand(command);
this.staticTextSearchResults.setText(tdi.business.Utils.getRowCountMessage(s23_package_airtimeDataProvider.getRowCount()));
catch (Exception e) {
log("Error during search for packages airtime", e);
return null;
public String searchButton_action() {
search_action();
this.tableRowGroup1.setFirst(0);
return "";
}I put the search_action() call in the prerender() to have data in my table when the page is open. For a large resultset the best aproach is to let the user select some search criteria and then call the search_action() using a button (searchButton_action() ).
I've added a hyperlink column to my table, it is used to display the current record details in a new page.
I have defined in my SessionBean a getRowkey/setRowkey methods.
When the user click on a "View" hiperlink the following code is executed:
public String viewpackageAT_action() {
RowKey row = tableRowGroup1.getRowKey();
this.getSessionBean1().setPackageAirtimeRowKey(row);
return "packageairtime_details";
}I will step over the "Page Navigation".
In the Detail Page I have the following code:
public void init() {
this.s23_package_airtimeDataProvider.setCursorRow(this.getSessionBean1().getPackageAirtimeRowKey());
}Now I have the detail page opened and also the DataProvider opened at the saved RowKey value.
Finally, in the SessionBean:
* Holds value of property packageAirtimeRowKey.
private RowKey packageAirtimeRowKey;
* Getter for property packageAirtimeRowKey.
* @return Value of property packageAirtimeRowKey.
public RowKey getPackageAirtimeRowKey() {
return this.packageAirtimeRowKey;
* Setter for property packageAirtimeRowKey.
* @param packageAirtimeRowKey New value of property packageAirtimeRowKey.
public void setPackageAirtimeRowKey(RowKey packageAirtimeRowKey) {
this.packageAirtimeRowKey = packageAirtimeRowKey;
}Note: You should enable page navigation in the result(s) table.
That's about it :)
Hope this helps,
Catalin Florean. -
How to create dynamic ed flash charts based on user selected fields in Orac
Hi all,
Can any of the experts please tellme "how to create dynamic ed flash charts based on user selected fields in Oracle apex".
Thanks
ManishHello,
Lots of different ways to do this, I blogged about one way (using a Pipelined function) here -
http://jes.blogs.shellprompt.net/2006/05/25/generic-charting-in-application-express/
Other options include using a PL/SQL function returning the string to use as the dynamic query etc.
Hope this helps,
John.
Blog: http://jes.blogs.shellprompt.net
Work: http://www.apex-evangelists.com
Author of Pro Application Express: http://tinyurl.com/3gu7cd
REWARDS: Please remember to mark helpful or correct posts on the forum, not just for my answers but for everyone! -
How can I stop the oracle XSLT processor from inserting extra whitespace in HTML?
How can I stop the oracle XSLT processor from inserting extra whitespace in HTML?
Use <xsl:output mode="html" indent="no"/> as a top-level element child of your <xsl:stylesheet> element.
-
How can i dynamically assign values to the tld file
How can i dynamically assign values to the tld file
In the tld you write for the tag handler mention the following sub tags in the attribute
<attribute>
<name>xyz</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
import the packagejavax.servlet.jsp.tagext.DynammicAttributes;
add the method
public void setDynamicAttribute(String rui, String localname, Object value) throws JspException
<Your Required task>
Its better if you SimpleTagSupport class to be extended. -
How can we automate the Depreciation keys based on production for business
How can we automate the Depreciation keys based on production for business u2013 this is currently not an optimised process if we expect business to manually change the keyu2019s on a monthly basis.
The end user updates the table, transaction AO25, manually on month end after the production calculations are completed. The question is, is it possible when the PP is completed, that the system updates the Period Unit table for that period?
Thanks.
Regards,
PS PSHi,
I am new at this, so I need a explanation on how will this help me, and how do I get about doing this?
Thanks a lot.
Regards,
PS PS -
How do i dynamically generate checkboxes in BSP?
How do i dynamically generate checkboxes in BSP? Each checkbox should have a different name and the checkbox values should be captured at the event oninput processing.
HI Asha,
Post here for BSP related queries.
Business Server Pages (BSP)
Regards,
Ravi -
How can i save a AWR/statspack report in xml format ??
how can i save a AWR/statspack report in xml format ?? or is there a way...coz when creating the report it gives option for html or normal (sql or txt based file)... on 10.2.0.3
thanks orinet....i used wat you asked me to use...it generated a .dmp file....
sqlplus "/as sysdba"
SQL> @$ORACLE_HOME/rdbms/admin/awrextr.sql
i tired upload that file to orapert.com it gives me below error ...any reason why ??
Error : File not processed because it was too small to be an Oracle statspack or bstat/estat file.
do i need to load it up too ?? as i tried doing the below
sqlplus "/as sysdba"
SQL>@$ORACLE_HOME/rdbms/admin/awrload.sql
get error while doing that....
ERROR at line 1:
ORA-20105: unable to move AWR data to SYS
ORA-06512: at "SYS.DBMS_SWRF_INTERNAL", line 1760
ORA-20107: not allowed to move AWR data for local dbid
ORA-06512: at line 3
the file is about 19M in size
Edited by: user630084 on Mar 19, 2009 11:37 AM -
How can I delete only one part of my xml file?
Hello,
I stored more than 100 users in only one xmltype column. For instance
Create table agro(users XMLTYPE);
... and I inserted all users inside
INSERT INTO agro values(XMLTYPE
('<?xml version="1.0" encoding="ISO-8859-1"?>
<authentication><users><user>
<name>cocoon</name>
<password>cocoon</password>
<role>admin</role>
<title>Mr.</title>
<firstname>Walter</firstname>
<lastname>Cocoon</lastname>
<company />
<street />
<zipcode />
<city />
<country>DE</country>
<phone />
<fax />
<email />
<bankid />
<bankname />
<accountid />
</user>
... another user, etc.
</users></authentication>'));
Now I tried to delete only one part of this file. For example all persons with the name"cocoon".
I used for this target the following statement:
DELETE FROM agro agro
WHERE agro.users.extract('authentication/users/user/text()').getStringVal()= 'cocoon';
When I execute this statement, Oracle DB delete all users and not only with the name "Cocoon".
How can I delete only one part of my xml file?
Kind Regards
M RThis the expected behavoir. You uploaded a document containing multiple users and then asked XML DB to delete any documnet that contained a user with the name in question. The problem here is that you are creating a mega document that contains an aggregation of user documents but then trying to work with individual user documents. This is a bad idea.
In general XML does not understand the concept of a collection of documents. It can only operate on one document at a time. Hence the tendancy to aggregate individual documents into a single larger document. Once you have an XML database, you can perform operations on collections of document, as easily as you can perform operations on individual documents, so the need to aggregate the individual documents together disappears.
If you store each user document as a seperate document then your delete will work as expected. -
NewBie : How can I do to compile the samples of XML Parser ?
How can I do to compile the samples of XML Parser ?
I must create a Makefile file, and after ?
ThanksIt`s for the Parser C++.
thanks -
How to pass dynamically generated string value as array name in TestStand?
Hi All,
I have a string variable which holds an array name as its value. The string value is a dynamically generated one. Now my problem is how to retrieve the values within the array where as the array name is stored in a string variable.
for eg:
fileglobals.InfoName = "Array_Name" --> fileglobals.InfoName is a string variable, Array_Name is the array name generated dynamically and it is known only at run-time.
Array_Name[0] = "a";
Array_Name[1] = "b";
Array_Name[2] = "c";
In the above case, I have to retrieve the values of a, b and c
Any help is greatly appreciated
Thanks
Arun Prasath E GHi,
Looking at your sequencefile.
You seem to be trying to save into FlieGlobals.InfoName a string with the values of "FileGlobals.Info_0".."FileGlobals.Info_n" where n is the value of Parameter.TestSocket.Index.
Then you are setting the value into FileGlobals.TempName from "StationGlobals.FileGlobals.Info_0" assuming Parameter.TestSocket.Index is 0.
Is this correct?
I realise this is a cutdown sequence file but you must make sure These variable actually exist in either FileGlobals or StationGlobals. Also with FileGlobals each SequenceFile has its own FileGlobals unless you have set the properties of the SequencFile to use a common FileGlobals.
What was the precise error you was seeing as it will properly telling you what variable of property it can't find.
Regards
Ray Farmer
Regards
Ray Farmer -
How to handle dynamically generated schemas
Hello! Experts
In my last query (subject-- JABX implementation Query)which posted in this forum i asked whether JAXB can be used in situation where schema of the xml files are generate dynamically.I came to know through the reply that JAXB can be used only for static generated schemas.Many Thanks for the reply.
Can any one suggests how to deal with situations where schemas are generated dynamically?
Many Regards
VedThis question doesn't make sense. If your code doesn't know anything statically about the schema for an input xml document, the only thing you can do is treat it like a generic xml document using something like DOM, and explore it simply as a tree full of nodes.
-
How can I dynamic modify bc4j.xcfg
Hi,
I am developing application using Jclient and BC4J.
I would like to let users to select different database, user account and change their password in the application runtime period.
Since BC4J uses bc4j.xcfg xml file to connect to database. How can I write code to modify the bc4j.xcfg file
Any suggestions will be appreciated.
JinsenI plan to solve the same problem (but JSP client, not JClient).
And I thing solution is How To Support Dynamic JDBC Credentials (http://otn.oracle.com/products/jdev/howtos/bc4j/howto_dynamic_jdbc.html). But don't know if it applies to JClient too... -
How can i end the Process chain based on some condition
HI All,
I have a scenario where i have a main pc chain which call the new chain at the end which in turn again call pc1. So its more like a closed loop .
pc1-->pc2->pc1
What main chain does is it reads some field value from a dso and assign that to some variable and set some flag to identify that value has been used. My second chain just run the report using the same variables assign by first chain. Now i have to design the main chain such that when all the values have been read from the dso, it should exit and should not trigger 2nd chain. How can i achieve this scenario.
Thanks
PrashantHi,
For this try using Process Type-"Decision between multiple Alternatives" in your main chain.It helps you the set condieion based on some formulas
Pls refer links
Decision Between Multiple Alternatives
thanks
nilesh
Edited by: npathak on Aug 11, 2010 1:16 PM
Maybe you are looking for
-
I have erroneoulsy deleted icons repetious images from the computer which then affected my iphoto images, leaving me in some cases only with the thembnail image. When I try to enlarge or perform any other function all that appears is a black field
-
Reg the usage of host command in web mode
How do the client in three tier architecture can use the GUI opened by the HOST command?In client server it is working fine.In three tier,everything is opened in the apps server not on the client.please help out. regards, Dinesh
-
If I do group and sum in interactive report why download (pdf,xls...) don't have this group and sum which I make in interactive report?
-
Complex workflow(s) using Oracle UCM
We are trying to explore if Oracle UCM Workflow can handle a complex article submission process which contains two main aspects/processes: the author submits a piece of content which kicks off a review process by editors. However, the author can evok
-
Dears; Is there a standard report that shows which wage type is assigned to which GL or this report should be customized? Regards; Lobna