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:
    &lt;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"&gt;
    <strong> &lt;xsl:output omit-xml-declaration="no"/&gt;
    &lt;xsl:output standalone="yes"/&gt;
    </strong> &lt;xsl:template match="*[not(node())]"/&gt;
    &lt;xsl:template match="node()"&gt;
    &lt;xsl:copy&gt;
    &lt;xsl:apply-templates select="node()"/&gt;
    &lt;/xsl:copy&gt;
    &lt;/xsl:template&gt;
    &lt;/xsl:stylesheet&gt;
    The transform activity is:
    &lt;copy&gt;
    &lt;from expression="ora:processXSLT('Transformation_1.xsl',bpws:getVariableData('Variable_1'))"/&gt;
    &lt;to variable="Variable_2"/&gt;
    &lt;/copy&gt;
    This XSLT has been tested in Oxygen and produces the required result with the required namespaces included...i.e.
    <p>
    &lt;?xml version="1.0" encoding="utf-8"?&gt;
    </p>
    <p>
    &lt;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"&gt;
    </p>
    <p>
    ...rest of file...
    But when the BPEL process executes, it outputs this:
    </p>
    <p>
    &lt;ABWSupplierCustomer xmlns="http://services.agresso.com/schema/ABWSupplierCustomer/2005/05/13"&gt;
    </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?

    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
    Joe

    Hi,
    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
    Amitabh

    Hi,
    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
    Sweety

    Hi
    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
    Michael

    Yes, 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
    Derrick                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    SQL> 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
    Daniel

    The 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.
    jm

    Hi,
    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

  • Process Message and PI sheet

    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

  • XML parsing error: xml processing instruction not at start of external entity (error code 17)

    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