Xsl:include not resolving no matter HOW I load the xslt
I cannot get *<xsl:include>* to work with XMLTRANSFORM in a PL/SQL environment in Oracle 11.2.0.3. I am exclusively working inside the database.
I have a base XSLT which includes another XSLT using xsl:include. I want to load the base XSLT as an XMLTYPE and have it transform another XML document, as if the entire XSLT were one large document.
I have loaded the base (base.xslt), the extension (include_with_base.xslt), and the combination of the two (entire_thing.xslt) in the XDB catalog. base.xslt has this statement inside its xsl:stylesheet node, attempting to include the other xslt:
*<xsl:include href="/public/include_with_base.xslt" />*
I have the xslts stored in XDB. This verifies they are intact:
1. The base xslt which has the xsl:include statement in it loads just fine.
select xdburitype('/public/base.xslt').getXML() from dual;
2. The extension which is the target of the include reference in the base xslt loads just fine.
select xdburitype('/public/include_with_base.xslt').getXML() from dual;
3. The combination of the two, where I cut-and-paste all children of xslt:stylesheet from include_with_base.xslt into the xslt:stylesheet node of base.xslt also loads just fine.
select xdburitype('/public/entire_thing.xslt').getXML() from dual;
However, when I try to execute a transformation of some test xml using base.xslt, it fails:
select XMLTRANSFORM(xdburitype('/public/xml_input.xml').getXML(), xdburitype('/public/base.xslt').getXML()) FROM dual;
When I try to execute the same transformation of the same test xml using entire_thing.xslt, it works:
select XMLTRANSFORM(xdburitype('/public/xml_input.xml').getXML(), xdburitype('/public/entire_thing.xslt').getXML()) FROM dual;
When I perform the transformation using altovaxml and the two xslts are in the same disk directory (and I use a relative reference with no path information rather than an absolute reference like I show in the examples above), the transformation works just fine.
What can I do to make XMLTRANSFORM work with an XSLT that has an essential <xsl:include ... /> reference in it?
Edited by: user11359697 on Apr 15, 2013 1:49 PM
For fun, here's an implementation of what I would call the "poor man" include.
The query takes the URI of the main stylesheet as input and recursively replaces all xsl:include directives with the content of the corresponding stylesheet.
It supports relative URIs.
Test case :
*/public/include1.xsl*
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="./include2.xsl"/>
<xsl:template name="test">
<TEST/>
</xsl:template>
</xsl:stylesheet>
{code}
*/public/include2.xsl*
{code:xml}
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="test2">
<TEST2/>
</xsl:template>
</xsl:stylesheet>
{code}
*/public/main.xsl*
{code:xml}
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="./include1.xsl"/>
<xsl:template match="/">
<xsl:call-template name="test"/>
</xsl:template>
</xsl:stylesheet>
{code}
and the query that rebuilds the complete stylesheet :
{code}
SQL> select xmlserialize(document -- for display purpose
2 xmlquery(
3 'declare namespace xsl = "http://www.w3.org/1999/XSL/Transform"; (::)
4 declare function local:include($href as xs:string) as element(xsl:stylesheet)
5 {
6 copy $d := fn:doc($href)/xsl:stylesheet
7 modify (
8 for $i in $d/xsl:include
9 return replace node $i
10 with local:include(resolve-uri($i/@href, $href))/child::*
11 )
12 return $d
13 }; (::)
14 local:include($main_xsl)'
15 passing '/public/main.xsl' as "main_xsl"
16 returning content
17 )
18 indent
19 )
20 from dual;
XMLSERIALIZE(DOCUMENTXMLQUERY(
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="test2" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<TEST2/>
</xsl:template>
<xsl:template name="test" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<TEST/>
</xsl:template>
<xsl:template match="/">
<xsl:call-template name="test"/>
</xsl:template>
</xsl:stylesheet>
{code}
Similar Messages
-
My itunes will not open no matter how many times i try! It says its due to a problem. what do i do?
When you gte requests to locate iTunes.msi like this, the Microsoft Installer Cleanup utility usually fixes it.
Here is a method for removal, clean up and reinstall of iTunes.
== uninstall with cleanup ==
Download a fresh copy of iTunes and the stand alone version of Quicktime (the one without iTunes)
http://www.apple.com/quicktime/download/win.html
http://www.apple.com/itunes/download/
Save the files on your PC.
Download and install Microsoft Installer cleanup utility, there are instructions on the page as well as the download. Note that what you download is the installer not the program – you have to run it to install the program. The installer doesn't give any message to confirm the installation.
http://support.microsoft.com/kb/290301/
(To run the program – All Programs>>Windows Install)
Now use the following method to remove iTunes and its components:
XP
http://support.apple.com/kb/HT1925
Vista
http://support.apple.com/kb/HT1923
*If you hit a problem with one of the uninstalls don't worry*, carry on with the deleting of files and folders as directed in the method.
When you get to deleting Quicktime files in the system32 folder as advised in the method, you can delete any file or folder with Quicktime in the name.
Restart your PC.
Run the Microsoft Installer Cleanup Utility. (Start > All Programs > Windows Install Clean Up)
Remove any references you find to the programs you removed - strictly speaking you only need to worry about those programs where the uninstall failed.
If you don’t see an entry for one of the programs that did not uninstall, look out for blank entries or numeric entries that look like version numbers e.g. 7.x for Quicktime or 1.x for Bonjour.
restart your PC
Install the stand alone Quicktime and check that it works.
If it does, install iTunes.
=== -
My Ipad is not charging suddenly ? How to solve the problem? As well its not charging into the computer also
Reset iPad
Hold down the Sleep/Wake button and the Home button at the same time for at least ten seconds, until the Apple logo appears
Note: Data will not be affected. -
My ipad has a software problem and does not work, request that it is loaded the software and there is no way that the operating system loads, is not restored. WHAT SHOULD I DO?
This is an iPad user to user forum, so you are not addressing Apple. Depending on how many user helpers are on-line, it may take several hours, or longer, to get a response.
Try this - Reset the iPad by holding down on the Sleep and Home buttons at the same time for about 10-15 seconds until the Apple Logo appears - ignore the red slider - let go of the buttons. (This is equivalent to rebooting your computer.) No data/files will be erased.
Frozen or unresponsive iPad
Resolve these most common issues:
• Display remains black or blank
• Touch screen not responding
• Application unexpectedly closes or freezes
http://www.apple.com/support/ipad/assistant/ipad/
iPad Frozen, not responding, how to fix
http://appletoolbox.com/2012/07/ipad-frozen-not-responding-how-to-fix/
iPad Frozen? How to Force Quit an App, Reset or Restart Your iPad
http://ipadacademy.com/2010/11/ipad-frozen-how-to-force-quit-an-app-reset-or-res tart-your-ipad
Black or Blank Screen on iPad or iPhone
http://appletoolbox.com/2012/10/black-or-blank-screen-on-ipad-or-iphone/
What to Do When Your iPad Won't Turn On
http://ipad.about.com/od/iPad_Troubleshooting/ss/What-To-Do-When-Your-Ipad-Wo-No t-Turn-On.htm
iOS: Not responding or does not turn on
http://support.apple.com/kb/TS3281
Home button not working or unresponsive, fix
http://appletoolbox.com/2013/04/home-button-not-working-or-unresponsive-fix/
Fixing an iPad Home Button
http://tinyurl.com/om6rd6u
iPad: Basic troubleshooting
http://support.apple.com/kb/TS3274
Cheers, Tom -
How to Load the data from excel file(Extension is .CSV) into the temp.table
Hi
How to Load the data from excel file(Extension is .CSV) into the temporary table of oracle in Forms11g.
My Forms Version is - Forms [64 Bit] Version 11.1.2.0.0 (Production)
Kindly Suggest the Solution.
Regards,
SachinHello Sachin,
You can use the following metalink note:How to Read Data from an EXCEL Spreadsheet into a Form Using Webutil Client_OLE2 (Doc ID 813535.1) and modify it a little bit.
Instead of copy values into forms you can save them in your temporary table.
Kind regards,
Alex
If someone's helpful or correct please mark it accordingly. -
How to load the data from .csv file to oracle table???
Hi,
I am using oracle 10g , plsql developer. Can anyone help me in how to load the data from .csv file to oracle table. The table is already created with the required columns. The .csv file is having about 10lakh records. Is it possible to load 10lakh records. can any one please tell me how to proceed.
Thanks in advance981145 wrote:
Can you tell more about sql * loader??? how to know that utility is available for me or not??? I am using oracle 10g database and plsql developer???SQL*Loader is part of the Oracle client. If you have a developer installation you should normally have it on your client.
the command is
sqlldrType it and see if you have it installed.
Have a look also at the FAQ link posted by Marwin.
There are plenty of examples also on the web.
Regards.
Al -
How to load the data from excel file into temprory table in Forms 11g?
Hi
How to Load the data from excel file(Extension is .CSV) into the temporary table of oracle in Forms11g.
My Forms Version is - Forms [64 Bit] Version 11.1.2.0.0 (Production)
Kindly Suggest the Solution.
Regards,
SachinDeclare
v_full_filename varchar2(500);
v_server_path varchar2(2000);
v_separator VARCHAR2(1);
v_filename VARCHAR2(400);
filename VARCHAR2 (100);
v_stop_load varchar2 (2000);
v_rec_error_log varchar2(4000);
v_error_log varchar2(4000);
ctr NUMBER (12);
cols NUMBER (2);
btn number;
RES BOOLEAN;
application ole2.obj_type;
workbooks ole2.obj_type;
workbook ole2.obj_type;
worksheets ole2.obj_type;
worksheet ole2.obj_type;
cell ole2.obj_type;
cellType ole2.OBJ_TYPE;
args ole2.obj_type;
PROCEDURE olearg
IS
args ole2.obj_type;
BEGIN
args := ole2.create_arglist;
ole2.add_arg (args, ctr);
ole2.add_arg (args, cols);
cell := ole2.get_obj_property (worksheet, 'Cells', args);
ole2.destroy_arglist (args);
END;
BEGIN
v_full_filename := client_get_file_name(directory_name => null
,file_name => null
,file_filter => 'Excel files (*.xls)|*.xls|'
||'Excel files (*.xlsx)|*.xlsx|'
,message => 'Choose Excel file'
,dialog_type => null
,select_file => null
If v_full_filename is not null Then
v_separator := WEBUTIL_CLIENTINFO.Get_file_Separator ;
v_filename := v_separator||v_full_filename ;
:LOAD_FILE_NAME := substr(v_filename,instr(v_filename,v_separator,-1) + 1);
RES := Webutil_File_Transfer.Client_To_AS(v_full_filename,"server_path"||substr(v_filename,instr(v_filename,v_separator,-1) + 1));
--Begin load data from EXCEL
BEGIN
filename := v_server_path||substr(v_filename,instr(v_filename,v_separator,-1) + 1); -- to pick the file
application := ole2.create_obj ('Excel.Application');
ole2.set_property (application, 'Visible', 'false');
workbooks := ole2.get_obj_property (application, 'Workbooks');
args := ole2.create_arglist;
ole2.add_arg (args, filename); -- file path and name
workbook := ole2.get_obj_property(workbooks,'Open',args);
ole2.destroy_arglist (args);
args := ole2.create_arglist;
ole2.add_arg (args, 'Sheet1');
worksheet := ole2.get_obj_property (workbook, 'Worksheets', args);
ole2.destroy_arglist (args);
ctr := 2; --row number
cols := 1; -- column number
go_block('xxx');
FIRST_RECORD;
LOOP
--Column 1 VALUE --------------------------------------------------------------------
olearg;
v_stop_load := ole2.get_char_property (cell, 'Text'); --cell value of the argument
:item1 := v_stop_load;
cols := cols + 1;
--Column 2 VALUE --------------------------------------------------------------------
olearg;
:item2 := ole2.get_char_property (cell, 'Text'); --cell value of the argument
cols := cols + 1;
--<and so on>
ole2.invoke (application, 'Quit');
ole2.RELEASE_OBJ (cell);
ole2.RELEASE_OBJ (worksheet);
ole2.RELEASE_OBJ (worksheets);
ole2.RELEASE_OBJ (workbook);
ole2.RELEASE_OBJ (workbooks);
ole2.RELEASE_OBJ (application);
END;
--End load data from EXCELPlease mark it as answered if you helped. -
How to load the subinventories
Hi,
How to load the subinventories if i have around 200 programtically?
Note : i dont want to use data loader for it?
Regards
846691This is from MySupport:
Currently there is no API or Interface table to upload the subinventory related information.
At present there is no other option other than to use the front end application .
There is an existing enhancement request which may be released in future release.
hope this helps -
The table with Name of 'Table Name' does not exist.An error occurred when loading the Model.
We get this error when we try to check the properties of an analysis server using SQL Server Management studio(right click the instance name
and check properties). We have resolved this issue twice by Stopping the SQL Server analysis service,removing db folders from Analysis Server Data folder and starting the services back on. The db folder that we removed was advised by the BI team.
The SQL Server Analysis Server is 2012 SP1Hi RB_ORIPW,
The table with name of 'XXX' doesn't exist.
An error occurred when loading the model(Micorsoft.AnalysisServices)
If I understanding correctly, you encounter the error randomly, now what you want it that avoid this issue completely, other than stop the services, detele the db filder and restart the services, right?
The error might be caused by that the data file is corrupted. However, we cannot give you the exact reason that cause this issue. You can troubleshoot this issue by using the Windows Event logs and msmdsrv.log.
You can access Windows Event logs via "Administrative Tools" --> "Event Viewer". SSAS error messages will appear in the application log.
The msmdsrv.log file for the SSAS instance that can be found in \log folder of the instance. (C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Log)
Here is a blog about data collection for troubleshooting Analysis Services issues, please see:
Data collection for troubleshooting Analysis Services issues
Besides, here is fix that describe the similar issue, and it was fixed in Cumulative Update 7 for SQL Server 2012 SP1, please refer to the link below to see the details.
http://support.microsoft.com/kb/2897263/en-us
Regards,
Charlie Liao
If you have any feedback on our support, please click
here.
Charlie Liao
TechNet Community Support -
How to load the exist Data Mart Request in to cube.
Hi Friends,
I have a scenario... i got DSO and one Cube , iam loading the data from DSO to Cube .
The number of records are more in the DSO and due to some clculation in the routine i need to load the data year by year(i got 2007 and 2008 year daya). I have loaded the 2007 data to the Infocube and in the DSO i can see the Data Mart Symbal against the Request Id when th load is finished successfully.
When iam trying to load the 2008 data from DSO to Cube iam getting the "0" records. I realised that the Data Mart symbal is exist in the DSO.
How to load the 2008 data in this scenario. If i delete the data mart sysbel means iam deleting the Cube request.
Can any have an idea on this.
Thaks in advance.HI,
Things are not clear.
How is loading happening if its delta or full load through DTP or you using 3.5 flow??
In any cases if you do a full load or full repair based on the year selection it should pick the records from the source...there is nothing to do with the data mart status in the case of full loads.
Data mart status will come into picture only when you schedule the delta loads.
Do a full load based on selections on year from the DSO to the cube...no need to delete the data mart or it will bring that request again delta is scheduled...does that request in DSO contains the data for 2008 only ...if yes then you can just delete the data mart status for that and do a delta...if not then do full loads as said.
Thanks
Ajeet -
I have enhanced standard master datasource , How to load the Text for it?
Hi Experts,
I had enhanced 0MATERIAL_ATTR with ZTGRM field.User exit is written and the data is populated and checked in RSA3.
Replicated,loaded in BW side.Activated the master data.It shows only the attribute not the text.
Tried loading 0material_text and loaded successfully, activated but while maintaining the master data , i can able to see only the attribute values not the text.
Can any one help how to load the text for the enhanced attribute?
Thanks in advance
Ganesh KumarHi Tony,
Loaded the 0MATERIAL_TEXT ,also sucessful.
After loading activated the 0material but i could only see values for 0material_attr not for the 0material_text.
Can you tell me how to load the text data to the newly enhanced attribute??? -
How to load the destination url of af:goLink component to a REGION?
Hi,
I've a tree in which every node is <af:goLink> component. How to load the destination url of <af:goLink> component to a REGION? Can anyone please tell me whether it is possible or not?
Thanks
-SukumarHi,
Thanks for the reply. I have looked at the blog.
But my scenario is little bit different. I'm not trying to load a JSF fragment page or a JSF page or a html page. I'm trying to load a url page which is not related to the applicaton. Eg: I'm trying to load "www.my.oracle.com" web page in the region. So I must use a <af:goLink> component. Please correct me if i have misunderstood the concepts".
Thanks
Sukumar -
How to Load the Entities on Cache ?
Hi..
I have an cmp (read only) entity bean , and whenever i calling the bean, its
loading each time in database ,and it results the performance degradation
of the loading of page. Hence i need to keep the cmp entity on memory
cache when the application server starts, so that i will access the entities
on cache memory rather than database each time .
Tell me how to load the entity beam (cmp read only) on memory when the
application server starts ?Many Application Servers have special features for CMP beans that are read-only or read-mostly.
It's not required by the EJB specification but it's pretty common. E.g., in SUN's application servers,
you can mark the CMP bean as read-only using the <is-read-only-bean> element in
sun-ejb-jar.xml. You can also set the <refresh-period-in-seconds> element to let the container
know when it needs to be refreshed. Doing so will prevent the majority of the database acceses.
--ken -
[iPhone development] How to load the App Store directly from an app?
I need to figure out how to load the app store from one of my applications by clicking a button. The code is relatively easy to load say a website. But when I use this code:
-(IBAction)goToAppStore;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.com/apps/appname"]];
it does not work, because it says too many redirects occurred.
Is there a way to load the app store (and load into a specific app info view) directly from the app, instead of loading a website to load the app store?
Thanks very much,
LOQ123Thank you.
But I using the one line code I had too many redirects. So, I needed the latter code, which didn't load the app store until all the redirects have happened. Unfortunately I don't understand this code:
// Process a LinkShare/TradeDoubler/DGM URL to something iPhone can handle
- (void)openReferralURL:(NSURL *)referralURL {
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:referralURL] delegate:self startImmediately:YES];
[conn release];
// Save the most recent URL in case multiple redirects occur
// "iTunesURL" is an NSURL property in your class declaration
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response {
self.iTunesURL = [response URL];
return request;
// No more redirects; use the last URL saved
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[[UIApplication sharedApplication] openURL:self.iTunesURL];
I'm know where to implement the code, however I don't know where to put my link in inside the specific code up above.
Please help me
Thanks very much -
How to load the content in Combobox
Dear All,
Any one can tell me how to load the combobox dynamically.. i have one combobox in that i defined the value as "Defined New" when i click the DefineNew a new form wil come i wil enter the value in the editext. when i click the combobox the value should display.. i have done this, its working fine but the problem is every time when i add the value it wil show the data in the the form Load.. i want data should come dynamically..
any one can help me in this regard
G.shankarYou can use this "oForm.Refresh()" every time you add a new valid value to the ComboBox.
I hope this help you.
Regards.
Enriquillo Guigni
Maybe you are looking for
-
Hi all. My question is, are all of the loops provided in Logic, Garageband, or any of the Jampacks, free from copyright restrictions? Meaning when utilized for commercial purpose, do they need to be declared as samples, or is everything provided, bas
-
Mac OS restarts itself on its own
2 weeks ago my mac OS has begun to restart itself very often (every 1.5-2 hours or sometime even more often) on its own. If i don't have any word or excel doc opened, Max OS fails to restart as it stops at the moment it asks to save such document. I
-
What are Apple doing to rectify the problem that the Wifi icon is greyed out and you can no longer get onto Wifi!! This has happened on both iPhones I my household!! It must be a problem with Apple as so many people seem to having the same problem.
-
Reading txt file coordinates into chart...
Hi, I'm currently making a GUI which displays a graph. At the moment it reads coordinates within an array in the code: public int datax[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; public int datay[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; So far I've made
-
Unit of Issue not considered in Excise Register Entries in Std SAP
Dear Experts , I have a material Base UoM is KG i procured 100 KG the Unit of issue for the same is G(grams) now the consumption of 100 G was booked Excise registers shows the following entries : qty rcvd : 100 ( there is no unit ) qty issued :100 ba