Processing instructions and CDATA in XSLT
Dear all,
my BPEL process contains a transform activity. The corresponding XSLT stylesheet supplies an output variable that I want to write to the filesystem as an XML document for use in third party applications.
This XML document must have a few processing instructions inside. When inserting this processing instructions in the XSLT, they are not inserted into the output XML document, i.e. the processing instructions are ignored. Using CDATA sections results in the same behavior.
Is there a workaround available for this bug in the BPEL Process Manager (without working with strings and string manipulation)?
Thanks in advance!
Lars
This is how I create my DOM...
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
org.w3c.dom.Document doc = builder.newDocument();
Element docElement = doc.createElement("Document");
docElement.setAttribute("Title", "Home");
org.w3c.dom.ProcessingInstruction pi = doc.createProcessingInstruction("xml", "type=\"xslt\"");
doc.appendChild( pi );
doc.appendChild( docElement );
And this is the output I get...
<?xml version="1.0"?>
<Document Title="Home"/>
I dont get it, Im using jdk1.4.0, and you get the processing instruction coming through, but I dont...?
Similar Messages
-
Automatic Process Instructions - config trnx O10C
Automatic process instructions and messages are generated when the control recipe is created. These created instructions have an associated field "Line Number of Process Instruction" (field AFFTD-FTRNR). This field should designate the "sequence of process instructions within a phase".
I get only 2 values in this field, 0000 and 9999.
This works for PI Sheets. Internally SAP has a way to manage it.
Send to a control system ten times, phase 0020, instruction "9999 ACONS_1" ... The external system will get lost.
Is there a way to control the sequence of this number?
Thanks in advance.Automatic process instructions and messages are generated when the control recipe is created. These created instructions have an associated field "Line Number of Process Instruction" (field AFFTD-FTRNR). This field should designate the "sequence of process instructions within a phase".
I get only 2 values in this field, 0000 and 9999.
This works for PI Sheets. Internally SAP has a way to manage it.
Send to a control system ten times, phase 0020, instruction "9999 ACONS_1" ... The external system will get lost.
Is there a way to control the sequence of this number?
Thanks in advance. -
XSLT processing instructions ignored, and namespaces excluded
Hi folks,
I am developing a BPEL process and created the following XSLT:
<xsl:stylesheet version="1.0"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
<strong> xmlns:agrlib="http://services.agresso.com/schema/ABWSchemaLib/2005/05/13"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
</strong> exclude-result-prefixes="xsl xp20 bpws ora ehdr orcl ids hwf">
<strong> <xsl:output omit-xml-declaration="no"/>
<xsl:output standalone="yes"/>
</strong> <xsl:template match="*[not(node())]"/>
<xsl:template match="node()">
<xsl:copy>
<xsl:apply-templates select="node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
The transform activity is:
<copy>
<from expression="ora:processXSLT('Transformation_1.xsl',bpws:getVariableData('Variable_1'))"/>
<to variable="Variable_2"/>
</copy>
This XSLT has been tested in Oxygen and produces the required result with the required namespaces included...i.e.
<p>
<?xml version="1.0" encoding="utf-8"?>
</p>
<p>
<ABWSupplierCustomer xmlns="http://services.agresso.com/schema/ABWSupplierCustomer/2005/05/13" xmlns:agrlib="http://services.agresso.com/schema/ABWSchemaLib/2005/05/13" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</p>
<p>
...rest of file...
But when the BPEL process executes, it outputs this:
</p>
<p>
<ABWSupplierCustomer xmlns="http://services.agresso.com/schema/ABWSupplierCustomer/2005/05/13">
</p>
Anyone any ideas?This is how I create my DOM...
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
org.w3c.dom.Document doc = builder.newDocument();
Element docElement = doc.createElement("Document");
docElement.setAttribute("Title", "Home");
org.w3c.dom.ProcessingInstruction pi = doc.createProcessingInstruction("xml", "type=\"xslt\"");
doc.appendChild( pi );
doc.appendChild( docElement );
And this is the output I get...
<?xml version="1.0"?>
<Document Title="Home"/>
I dont get it, Im using jdk1.4.0, and you get the processing instruction coming through, but I dont...? -
I am trying to send photos to the cloud from my phone to my iPad but they are not appearing in the stream. I have read the instructions and I think I am doing it right or am I missing a part of the process?
HI,
Have you done this before ? And if so, is photo stream turned on on your iphone and ipad. and as Alfred DeRose pointed out they must both on the same icloud account.
If you're new to this, you might want to do some research. Photo stream is different from camera roll and albums. Many have been on this sight looking for their photos stored in icloud after restore, etc. and they're not there. Also, after thirty days icloud deletes your photos from photo stream.
So if you're not aware, you might want to google your question. We're using the camera connection kit soon and I am learning about it. From all I've read, I'm also not the biggest icloud fan. I use dropbox. We plan to put photos taken on ipad with a camera/iphones into albums on the ipad. We'll keep all on the sd card until (and after) they can be uploaded to a computer.
An example of an article we can learn from -
http://www.macobserver.com/tmo/article/how-to-understand-and-work-with-your-iclo ud-photo-stream
Hope this helps. -
Process instruction characteristics and process messages
Hi,
Can anyone tell me why process instruction characteristics is required when only process message characteristics are displayed in PI sheets (input or output).
Regards
JoeHi,
Answer is already there in your question.
and that is
(input or output)
Now you creates the one Process Message characteristic let's it is Temperature.But how it's value comes in the PI Sheet (As Ouput or Input manually by user) that is decided by that Process Instruction Characteristic.
Now when you creates the Process Instruction Category (O12C) except type 0 you have choice of creates it by using help of Process Assistant.This Assistant assigns the Process Instruction Characteristic to the process Massage Characteristic automatically when you select the specific radio button or Activate the check box during that PI category creation.
For Example when you creates the PI category Type 2 using Assistant.Here after naming first screen comes to you is to define type of Process data Request.Here when you select the radio Button for Simple process data request then indirectly you assign the process Instruction characteristic PPPI_DATA_REQUEST_TYPE and its Value comes as Simple.
But when you create the PI category type 0 you have to assign this PI Characteristic manually because its Universal Category and there is no assistant which helps you.
Regards,
Dhaval -
Process instruction sheet and control recipe
dear,
can u let me know how the process instruction sheet is created or maintained and how the control recipe and destination works.
if I want to start with PI sheet and control recipe in my organisation , how do I go ahead with configuration as well as process.
thnx-rgds
AmitabhHi,
In control recipe destination the destination type must be browser based.Another is Abap based generally it is using.
So select that recipe destination, select phase & go in deatil u will find INSTR.READ1, READ2,SIGN which can used as a instruction.
There are two types 1:process sheet 2: remote fuction call (RFC)
Process sheet is used for giving instructions to line operator & also entering data during reaction etc per period.
For INSTR- select it give instruction for that particular phase.
READ1 - In which we are one column is available where we can enter 1 value by line opearator
READ2- Here 4 columns are available u can use it as date,time,temp,total etc. as per your requirement.
SIGN- Here u can use it as a to identify who entered the value.Systen will ask for pass word after entering ID
After creation & releasing process order create contriol recipe.
Thern go for T code- CO 53 - send control recipe(control recipe monitor)
http://help.sap.com/saphelp_46c/helpdata/en/f3/6ee4117aed11d2a5fe0060087d1a6b/content.htm
CO60 - Operator will enter the values
CO54 - send process messages
http://help.sap.com/saphelp_46c/helpdata/en/ac/6a101268ce11d2a67600104b57eaa3/content.htm
CO55- Check the report.
Check the above & reward if useful.
Regards,
Suhas -
Transaction code to find Process message and Process Instruction
Hi
I am new to PP module
Where do i find (In which Transaction) the list of
a) Process Message Category
b) Process message
c) Process Instruction Category
in SAP ERP system??
Regards
SweetyHi
Thank u all for responding
Still I was not able to find certain Process Messages like YQ_AIR, YQ_RPM, YQ_TEMP, YQ_CONS, YQ_PHCO, YQ_PHCO2.
and Process Instructions like
YQ_AIR, YQ_ENDPI,YQ_HEAD, YQ_INSTR, YQ_LAY, YQ_MATLI, YQ_PROD, YQ_PTEXT,YQ_RPM, YQ_TEMP, YQ_CON1, YQ_CON2..
do I need to do some (Basis) configuration to get these?? or the above mentioned Process Messages and Process Instructions are not pre defined??
Regards
Sweety -
Firefox xslt processing instruction
Hi
It's strange, i don't know...
When my processing instruction looks like this
<?xml-stylesheet type="text/xsl" href="xml40_reminder.xsl"?>
i get the transformated xml in both browsers (IE6.0 and Firefox1.5).
On the other side, when the href-attribute beginns with a FQDN i only get the transformation with IE6.0 and not with Firefox1.5.
Example:
<?xml-stylesheet type="text/xsl" href="http://core.mycompany.ch/xsl/xml40_reminder.xsl"?>
Any ideas?
Kind regards
MichaelYes, the core-server is an intranet-server where we hold our schemas and stylesheets in a centralized place. In contrast the XML's are stored on an other machine. So it would be nice if we could use URL's to link the XML's with the stylesheets.
Kind regards
Michael -
Bug when copying processing-instruction() nodes via XSLT
Hi,
Database version :
BANNER
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for 32-bit Windows: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - ProductionTest case (XSLT identity transform) :
SELECT XMLSerialize(document
XMLTransform(
XMLParse(document '<test><?abc?></test>')
, XMLParse(document
'<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>')
) as result
FROM dual;produces :
RESULT
<?xml version="1.0" encoding="utf-8"?>
<?abc ?><test></test>
instead of the expected output, with the processing-instruction() node at the right place, in document order :
<?xml version = "1.0" encoding = "UTF-8"?>
<test><?abc ?></test>Any ideas or workarounds?
Thanks.Yep, same on 11.2.0.3 :
SQL> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for 32-bit Windows: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
SQL>
SQL> SELECT XMLSerialize(document
2 XMLTransform(
3 XMLParse(document '<test><?abc?></test>')
4 , XMLParse(document
5 '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
6 <xsl:output method="xml"/>
7 <xsl:template match="@*|node()">
8 <xsl:copy>
9 <xsl:apply-templates select="@*|node()"/>
10 </xsl:copy>
11 </xsl:template>
12 </xsl:stylesheet>')
13 )
14 ) as result
15 FROM dual;
RESULT
<?xml version="1.0" encoding="utf-8"?>
<?abc ?><test></test> -
Updating a XML document with a processing instruction
Greetings Guru's
I have a fully functional XML database solution for our new system. The only thing left is for me to update a xml document in the database with a processing instruction to find the style sheet (JAXB strips it out when the XML must go back into the database).
I can update complete nodes and node elements in the xml document using updateXML in a regular update statement, but I do not know how to add the following processing instruction to my documents.
<?xml-stylesheet type="text/xsl" href="/RASWEB/JIT_REPORT.xslt"?>
[pre]
Thanks in advance
DerrickSQL> var xmltext varchar2(4000)
SQL> --
SQL> begin
2 :xmlText := '<Hello>World</Hello>';
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> drop table t
2 /
drop table t
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> create table t of xmltype
2 /
Table created.
SQL> set long 10000
SQL> --
SQL> insert into t values (xmltype(:xmltext))
2 /
1 row created.
SQL> select *
2 from t
3 /
SYS_NC_ROWINFO$
<Hello>World</Hello>
SQL> update t set object_value = updateXML
2 (
3 object_value,
4 '/',
5 xmlconcat
6 (
7 xmlpi("xml-stylesheet",'type="text/xsl" href="/RASWEB/JIT_REPORT.xslt"'),
8 object_value
9 )
10 )
11 /
1 row updated.
SQL> select * from t
2 /
SYS_NC_ROWINFO$
<?xml-stylesheet type="text/xsl" href="/RASWEB/JIT_REPORT.xslt"?>
<Hello>World</Hello>
SQL> -
How to print process instruction in process order.
Hi dudes,
,y client is not having Process management interface, but they want to maintain process instruction for phases in recipe and want to take print of process instructions in process order after release process order.
Please explain the path for printing process instructions copied into process order.
if some one assign PIs to phase in recipe, will control recipes be created after release of process order.
Regards
DanielThe easiest way to do what you want is to actually create the PI sheet and then print it off from the view PI sheet transaction (CO60). This is then all standard functionality.
to do this you will need to set the configuration to create the control recipe when the process order is released and send it to a recipe destination.
Regards
Laurence -
Process Instruction (PI) Sheet text (Browser version)
Our Process Instruction (PI) Sheet information is stored in the text tables (STXH/STXL) under TDOBJECT = 'COPOC' and TDID = '0001', but has a cryptic TDNAME key value. We use the 'browser' PI Sheet display version, not the ABAP base display version which stores the PI data on tables COCHP (Header data) and COFTP (PI Sheet: Process Instructions). Function Module COP0_DISPLAY_PI_SHEET would be used to display the ABAP PI Sheet information. During debug of tcode CO60 (Find PI Sheet), it appears that the Control Recipe (CRID) value is used to create the TDNAME key value via Classes/Methods. Unfortunately, accessing the text thru the different Classes does not seem straight forward. Does anyone have code/logic to extract the PI Sheet text directly using the CRID in a more simpler procedure?
Thank you in advance for your assistance.
jmHi,
use this Function module to get the text.
<b>COCB_CONTROL_RECIPE_GET_DETAIL</b> pass the control recipe ID.
try this also..
COCB_CONTROL_RECIPE_GET_TEXTS
regards
vijay
Message was edited by: Vijay Babu Dudla -
Dear All,
I have created one finished product and one raw material. In Master Recipe i created one Phase and assign two instruction category CONS_1 and PROD_1.
Now i generated PI sheet in COR2 and see CO53 that it is present and now i send it and in CO60 it is there.
Now when i see and enter quantity in PIsheet and double click on it to see the Process Message
1) PI_PROD has material number of finished product - It is ok
2) PI_CONS has also material number of finished product but it should have raw material number.
So, my issues are
1) How raw material will be there in PI_CONS Process Message.
2) Should i create two phase and assign it one by one or what else.
3) If i have Process Order of 500 quantity and through PI Sheet i do GR of 10 and GI of 10 then for next time how should i do GI and GR again. Should i send PI Sheet again from CO53 to CO60.
4) Is there only one control Recipe is generated for one process order.Hi,
process instruction CONS_1 will not show raw material number it will show reservation number of the process order...instead of using CONS_1 use CONS_D and use this control recipe destination and make the settings as shown below...
your final PI sheet output will be like this....
Hope this helps...
Thanks
Kumar -
Seeking for API to deal with XML processing instructions
Hi all,
I have a requirement to list all the processing instructions inside a xml document.
E.g. For the document
<?xml version="1.0" encoding="utf-8"?>
<?AAA att1="att 1"?>
<?BBB?>
<?CCC?>
<body>
<empty>True</empty>
</body>
I need to print out PIs AAA, BBB, CCC.
Two solutions i can find are:
1. to treat the doc as a string and do a pattern search for <?*?>.
2. use IF_IXML_DOCUMENT to traverse all the nodes and check their node types against IF_IXML_NODE=>CO_NODE_PI_PARSED and TYPE = IF_IXML_NODE=>CO_NODE_PI_UNPARSED.
However, I am wondering if there's any xml API to deal with XML PIs.
During my research on this, i got IF_IXML_DOCUMENT. It provides two creation APIs for XML PI: CREATE_PI_PARSED and CREATE_PI_UNPARSED. However, there is no corresponding getter API found.
Does anybody know if there is such one?
Thanks in advance.Never do yourself down Richard.
Leave that to other people.
It's quite common for smart developers to think they're not as good as they are.
I coach a fair bit and it's a surprisingly common feeling.
And to repeat.
Never use anything ends .. provider. They're for trivial demo apps. Transform xml into objects and use them. Write it back as xml. Preferably, use a database.
You want to read a little mvvm theory first.
http://en.wikipedia.org/wiki/Model_View_ViewModel
Whatever you do, don't read Josh Smiths explanation. I used to recommend it but it confuses the heck out newbies. Leave that until later.
Laurent Bugnion did a great presentation at mix10. Unfortunately that doesn't seem to be working on the MS site, but I have a copy. Download and watch:
http://1drv.ms/1IYxl3z
I'm writing an article at the moment which is aimed at beginners.
http://social.technet.microsoft.com/wiki/contents/articles/30564.wpf-uneventful-mvvm.aspx
The sample is just a collection of techniques really.
I have a sample which involves no real data but is intended to illustrate some aspects of how viewmodels "do stuff" and how you use datatemplates to generate UI.
I can't remember if I recommended it previously to you:
https://gallery.technet.microsoft.com/WPF-Dialler-simulator-d782db17
And I have working samples which are aimed at illustrating line of business architecture. This is an incomplete step by step series but I think more than enough to chew on once you've done the previous stuff.
http://social.technet.microsoft.com/wiki/contents/articles/28209.wpf-entity-framework-mvvm-walk-through-1.aspx
The write up for step2 is work in progress.
https://gallery.technet.microsoft.com/WPF-Entity-Framework-MVVM-78cdc204
Hope that helps.
Recent Technet articles: Property List Editing;
Dynamic XAML -
I created a form and recieve the filled in form by email from participants. It has always worked in the past. Recently when importing data into the master form (from filled in forms in xml files sent by applicants) I am getting this error message..."xml processing instruction not at start of external entity (error code 17), line 2, column 1...." pointing to the file of data (xml) I am trying to input. If I pull up old data forms (from 2009) they work, but now I am getting this error. I run Adobe Design Premium CS3 for Windows. Can anyone tell me what to do to fix?
I created a form and recieve the filled in form by email from participants. It has always worked in the past. Recently when importing data into the master form (from filled in forms in xml files sent by applicants) I am getting this error message..."xml processing instruction not at start of external entity (error code 17), line 2, column 1...." pointing to the file of data (xml) I am trying to input. If I pull up old data forms (from 2009) they work, but now I am getting this error. I run Adobe Design Premium CS3 for Windows. Can anyone tell me what to do to fix?
Maybe you are looking for
-
My kids pushed something and this message comes up on a black screen: Darwin/BSD (new-host-4.home)(console) Login: What do I do to fix it?
-
Fields are bold for some users, not bold for others.
Post Author: karene CA Forum: General I have a report in Crystal reports XI using BusinessObjects. One of my users is complaining that one of the fields is bold. But it's not set to bold in the report, and when I run the same report, called the same
-
File-Sender Adapter File not read from folder
Hi everybody, in CC monitoring I see that the adapter poll successful on a folder. But the file is not read! The mode is "delete" Any ideas? Regards Mario
-
I have been using a Sony XPLOD MX8500 for some time as my car head unit and handsfree kit combined. It has paired successfully with a series of phones, going back to the Nokia N82. Using the Lumia 800, I can pair the phone and use it for both calls a
-
The submit button is grayed out on two of the 8 surveys sent. Why would this be the case when the survey is still active. I am testing this product before purchasing and I can't have this problem with a live survey.