Xml Disassembler Promotes Elements, but not Attributes

I have a strange issue. I am polling xml from SQL Server and debatching it on the Receive Port. Each of the debatched messages has an attribute on the root node that I wish to promote into context for routing (MessageDataPropertyBase). When I run the receive
location, the messages are debatched and I see the attribute in the message context, but it does not get promoted.
I used this exact same method in another application and it worked just fine. However, the difference is that the other application is promoting an element field, not an attribute field. So, to test it out I changed my message to include an element with
my value, and changed my promoted field in the document schema to use the element instead of the attribute and VOILA! It promotes just as I would expect.
One other test - I dropped a single message on the same port that did not need to be debatching and the attribute promoted exactly as I want. It only does not promote after being disassembled. I tried configuring the XML Disassembler both with and without
a document schema specified (giving the envelope schema in both cases) and it made no difference.
So here's the question...why will the XML Disassembler promote Element fields, but not Attribute fields?

I just tried an example on BizTalk Server 2013, where I debatch my Orders and promote 3 Propeties on each Order (MessageID, ReceiverID and Total).
In my example it works and all 3 Properties are promoted to context on each message.
All 3 Properties in the Property Schema has the default "Property Schema Base" property "MessageDataPropertyBase". 
So the short answer is: yes it will promote attributes, but clearly it doesn't work for you, so either you are doing something different than me and/or using another version of BizTalk than 2013?
Morten la Cour

Similar Messages

  • How to accept xml even when elements are not defined in its schema

    Hi,
    I got this requirement where i need to accept xmls even though its schema definition is not available note that i am storing the xmls into obejection-relational mode in oracle xmltype column table.
    How can i register schamas which has a perticular element defined conditionally to refer to two schemas based on its elementname (pct:CompanyName and CompanyName), please go through the below given scenario for further clarity on the same
    Oracle Version
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE 11.2.0.3.0 Production
    *Sample XML
    * <CabInfo>
         <pct:CabName>Yellow Cab</pct:CabName>
         <CompanyName>Taxi4You<CompanyName>
    </CabInfo>
    Schema Definition
    Cab.xsd
    <xsd:All minOccur="0">
    <xsd:element name="CabInfo" type="pct:Cabs" minOccurs="0"/>
    </xsd:All>
    pct points to a commontype.xsd file
    <xsd:complexType name="Cabs">
    <xsd:all minOccurs="0">
    <xsd:element name="CabName" type="xsd:string" minOccurs="0"/>
    <xsd:element name="CompanyName" type="xsd:string" minOccurs="0"/>
    </xsd:all>
    </xsd:complexType>
    Now when a xml comes with both the tags pct:CabName and pct:CompanyName then its not an issue however i need to accept xmls which can come as pct:CabName and only CompanyName without the pct namespace referrence.
    I was considering choice tags a method to acheive this but i read it cannot be used with ALL i cant remove ALL either from my schema.
    Please suggest if this can be acheived.

    Hello,
    You can use module pool to design the screen, all the fields will then remain fixed in the position defined.
    CALL SCREEN 100. " 3 fields declared P_NAME p_ROL and P_SUBJECT
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
    *  SET PF-STATUS 'xxxxxxxx'.
    *  SET TITLEBAR 'xxx'.
      LOOP AT SCREEN.
        IF screen-name = 'P_ROL'.
          screen-active = '0'.
          screen-invisible = '1'.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    Regards,
    Mansi.
    Edited by: SAP USER on Apr 22, 2009 1:02 PM

  • Load xml works on designer but not works in adobe acrobat

    Hi
    I have load a xml file on the file -> properties of the form.
    When I preview the pdf all works ok, but when I have saved the document and I have opened the pdf file with adobe acrobat. Then data hasn't loaded.
    Somebody know what happen?
    Thanks
    Ruben

    Unfortunately, Adobe no longer supports Acrobat 7.  Not only that, but I don't believe it was ever supported in a Citrix environment. 
    You will need to upgrade to at least Acrobat 8 for general support (and official Citrix compatibility).

  • Build Array keeps name of the last element but not the others. Workaround?

    Hi there,
    Sorry if this has been posted before, I did the search first but did not find anything.
    Problem is that I have two setups that are identical and need to be controlled from a single vi. Since they are the same they are configured with the same sets of parameters so I decided to create a cluster of these and then build an array of the clusters. This way I need to only use one wire and if I need a given parameter I can easily get it from there (or so I thought) and also since I need to see if anything changes I can compare one wire instead of each one of the parameters.
    The gui has the list of parameters then in the block diagram I bundle them appropiately, using "Bundle by Name" and then each bundle into an array using "Build Array". Problem arises when I index the array for the first setup and the use that to unbundle the parameters I need, using "Unbundle by Name" (though if I use "Unbundle" the same happens)and lo and behol, the ouput names are from the second setup, not the first.
    Here is the curious thing though, even though the names are all wrong the values are correct. I could live with this but it is annoying plus it will make another user very hard to understand the diagram plus this is just a proof of principle to test with two, eventually there will be eight or even more and that is going to get really confusing.
    Is there a way around this? Even if it is to change the names after unbundled.
    Check the attached vi to see what I mean.
    Solved!
    Go to Solution.
    Attachments:
    Test Build Array Names.vi ‏11 KB

    I think you are forgetting an important point about arrays.  The only thing that can be different between each element of an array is its value.  The array elements must all share the same properties.  So that would include the names of the individual elements that make up the cluster that is an array element.
    It appears that the last cluster that gets built into the array is the one that defines the names of the elements that are within the cluster element.  You either need to give all elements of the array the same names within the cluster.  Or use a cluster of clusters instead of an array of cluster to build your data structure.

  • VOB Video files play in Premier Elements but not in Organizer

    I just purchased a new Dell Studio 15 Laptop, running Windows 7 (64bit), with an i7 cpu, and my VOB video files play and show a thumbnail in Premier Elements 8 but do not in the organizer.  Has anyone found this problem and a solution?

    Hunt
    Thank you for responding so quickly.  I first installed my Premier Elements 8 and Photoshop Elements 8 on our Vista desktop  computer, and everything worked fine.  I purchased my laptop with a  high end cpu, hoping to improve performance,  and moved my application over, and now I am unable to play these videos when in the Organizer, while they do play in Elements (they played in both applications on the slower Vista computer).
    I tried to update premier elements to 8.0.1, (I am running 8.0)  but the updater sayes no updates are available.
    I created the VOB files from my old family video tapes using a Sony DVDirect  DVD Recorder, model MRD-MC6 if that helps.  I didnt try to strip data from the files, because I dont know how, and think I shouldnt have to, given that everything worked fine on my older Vista desktop.
    One other clue- if I try to import one file at a time to the organizer, I get the following error message:
    "The selected file cannot be played because your system does not have the required compressor/decompressor (codec) installed.
    Perhaps the Organizer and Premier Elements use different codecs, and the on in my organizer doesnt work."  Any ideas how to check if I have the proper codec(s)?
    Paul

  • AVI file imports into Premiere Elements but not Premiere Pro CS5.5

    I tried to import an avi file into Premiere Pro 5.5, only to get the message: "Unsupported format or damaged file." The weird thing is, I have no problem importing the same file into Premiere Elements 1.0 and Premiere Elements 3.0. From the message boards, I somewhat understand that avi is a container and that there are actually 1000s of different formats within that "avi" label. Anyone know why PE is more capable than Pro on this task? Any solutions?
    Geoff.

    Well... what is inside that AVI file?
    Read Bill Hunt on a file type as WRAPPER http://forums.adobe.com/thread/440037
    What is a CODEC... a Primer http://forums.adobe.com/thread/546811
    What CODEC is INSIDE that file? http://forums.adobe.com/thread/440037
    Report back with the codec details of your file, use the programs below... a screen
    shot works well to SHOW people what you are doing
    http://forums.adobe.com/thread/592070?tstart=30
    For PC http://mediainfo.sourceforge.net/en or http://www.headbands.com/gspot/
    For Mac http://mediainspector.massanti.com/

  • MDIS ValueX XML Structure, element TEXT not found in xml schema

    When you extract ECC Contract through MECCM using port ERP Contract Data Transmission, if your mapping isn't correct 2 exception types are created: StructuralX or ValueX (and ImportX but I haven't seen this type of exception yet).
    Anyone noticed that the structure of the XML messages are actually different? The XSD for structuralX files are the same as the files placed in the "ready" folder, where as the XSD for the valueX files are DIFFERENT, and contain a tag called <TEXT>.
    This raises an issue when we're trying to handle exceptions in Import Manager using the type Port.  We get error "Logon Error: Source file does not conform to XML Schema. Element <TEXT> not found in xml schema".
    We can process exceptions in the structuralX folder, but not in the valuex folder because the xml file structure in the valuex folder is different.
    Just wondering if anyone else has had this issue or has resolved it.  We will open message with SAP.
    Thanks.

    Hello
    What is your MDM version ?
    this issue happened in old MDM 7.1 versions but was fixed in SP-2 unless you mapped Clone fields and in this case the fix is a bit later.
    In MDM 7.1 the latest builds of SP-2 and SP-3 should have the fix for all issues. But if you use MDM 5.5 then some issues regarding XSD conversion for exception where not addressed due to technical issues.
    The workaround for MDM 5.5 (If you use a late build of SP-6 Patch-4 or SP-6 Patch-5)  is to use the original file to fix the exception and not the file in the exception folder.
    Please notice that when you have Structural exception then all the Source XML file will go to the Exception folder.
    But in case of Value Exception - The source XML file will be dropped in the archive folder and another XML file containing VXR's (Virtual Extended Records) will be dropped in the exception folder, Therefore will have a different structure.
    Hope it helps.
    Thanks.
    Best Regards.
    Yaron.

  • IOError in IE but not in Firefox (possible crossdomain.xml problem)

    Yesterday, I hopefully debugged a problem that is occuring for our application in IE but not in Firefox.
    It has to do with accessing remote content from a separate domain.
    In every aspect it APPEARS to be a crossdomain.xml issue but the fact that this issue only arrises in IE is what has prompted me to post here.
    We have a solution in the works (bureaucratically speaking) but I want to double check here.
    Our application is on domain "a.domain".
    It access an xml file on "b.domain/xml/".
    And finally (this is the tricky part) it also accesses an xml file at "b.domain/forwardingPath/" which is actually forwarded to "c.domain/xml/".
    The crossdomain.xml is located at "b.domain/crossdomain.xml".
    The request for "b.domain/xml/anXMLFile.xml" works without any problem.
    The request for "b.domain/forwardingPath/anotherXMLFile.xml" succeeds in Firefox but not in IE (remember, the ACTUAL request is forwarded to "c.domain/xml/anotherXMLFile.xml").
    In IE I get an IOError.
    I believe we need an appropriate crossdomain.xml file also located at "c.domain/crossdomain.xml" and have put in that request.  What I want to confirm is whether this understanding is correct.  I am not a server-side person at all.  It's all elves and fairies to me.  And then finally, why the hell is this behavior inconsistent between IE and Firefox?  Is the Firefox version of flash player violating its own security standards?!
    I am cross-posting this at stack overflow.  http://stackoverflow.com/questions/7395931/ioerror-in-ie-but-not-in-firefox-possible-cross domain-xml-problem

    I've pinged our developers about this and here's what they have to say:
    "We did some work for the plugin around redirects andhence the correct behavior on Firefox.
    AFAIK, on IE we don't get notified of the redirect and can't participate in making security decisions during redirect scenarios. This behavior is out of our control.
    There is a workaround documented in the AS3docs here: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/LoaderCont ext.html#checkPolicyFile
    Here is the pertinent paragraph:
    Be careful with checkPolicyFile if you are downloading anobject from a URL that may use server-side HTTP redirects. Policy files arealways retrieved from the corresponding initial URL that you specify inURLRequest.url. If the final object comes from a different URL because of HTTPredirects, then the initially downloaded policy files might not be applicableto the object's final URL, which is the URL that matters in security decisions.If you find yourself in this situation, you can examine the value ofLoaderInfo.url after you have received a ProgressEvent.PROGRESS orEvent.COMPLETE event, which tells you the object's final URL. Then call theSecurity.loadPolicyFile() method with a policy file URL based on the object'sfinal URL. Then poll the value of LoaderInfo.childAllowsParent until it becomes true."
    Chris

  • Xml disassembler failing with reason start element does not match end element

    Hi,
    I'am using a WCF-WSHttp adapter to send a very simple message to a WCF service from BizTalk. The service can return a response or throw a BusinessFault or a SystemFault.
    I get the responses and faults returned and captured most part of the time . But one in a hundred message fails with the below error when a BusinessFault or a SystemFault is thrown . They are SOAP faults
    There was a failure executing the response(receive) pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "XML disassembler"
    Send Port: "xy.Integration.customapplication.CustomService" URI: "https://xyz.xyz.co.xy/CustomService/CustomService.svc" Reason: Start element
    'nz/Faults/201' does not match end element 'Reason'.
    Line 1, position 677.
    I use the below Xpath for the Inbound BizTalk Message Body
    /*[local-name()='Fault']/*[local-name()='Detail' or local-name()='detail']/* | /*[not(local-name()='Fault')]
    My node encoding is Xml.
    I have enabled the Service Trace on the Biztalk server to capture the incoming message and noticed that the messages are not broken .
    Beleive this is one of the item that Microsoft has fixed for BizTalk 2009 in CU 1. But I couldnt notice a similar one for BizTalk 2010
    http://support2.microsoft.com/kb/981422
    Any tips would be very much appreciated.
    Thanks
    Suresh

    Could you post the XML message where this error occurs here please?
    Because that error usually occurs when you receive invalid XML. 
    Glenn Colpaert - MCTS BizTalk Server - Blog : http://blog.codit.eu

  • [JS-CS4] - How to read the XML Element and its Attributes

    Dear All,
      I have the doubt regarding: reading the xmlElement and its attributes.
    Here I droping the xml script
    //============= Start ======================//
    var myDoc = app.activeDocument;
    var Fpath = File("../Projects/Entity_map.xml");
      if (Fpath.exists)
       Fpath.open("r");
       var Cont= Fpath.read();
      var roots = new XML(Cont);
      var myEveryName = new Array();
      var myEveryContent = new Array();
      var myEveryAttributes = new Array();
      traverse(roots);
    //$.writeln(myEveryName);
    //$.writeln(myEveryContent);
    $.writeln(myEveryAttributes.length);
    for(var i=0; i<myEveryAttributes.length; i++)
      $.writeln(myEveryAttributes[i]);
    function traverse(tree) {
        myEveryName.push(tree.name());
    myEveryContent.push(tree.text());
      myEveryAttributes.push(tree.getAttribute);
    // you get the contents by using .text() insted of .name()
        if(tree.elements().length() > 0) {
            for(var i=0; i<tree.elements().length(); i++) {
                traverse(tree.elements()[i]);
    //============== End =====================//
    and the XML Structure is
    //===============XML =====================//
    <?xml version="1.0" encoding="UTF-8"?>< Entity_Convertion>
    < Entitys char="Ç" GID="173"/></ 
    Entity_Convertion>
    //===============End ====================//
    Here I'm getting the XML Elements and its contents, but not xmlAttributes.
    Please any one can help me, then I will appreciate...
    Thanks & Regards
    T.R.Harihara SudhaN

    Dear All,
      I have the doubt regarding: reading the xmlElement and its attributes.
    Here I droping the xml script
    //============= Start ======================//
    var myDoc = app.activeDocument;
    var Fpath = File("../Projects/Entity_map.xml");
      if (Fpath.exists)
       Fpath.open("r");
       var Cont= Fpath.read();
      var roots = new XML(Cont);
      var myEveryName = new Array();
      var myEveryContent = new Array();
      var myEveryAttributes = new Array();
      traverse(roots);
    //$.writeln(myEveryName);
    //$.writeln(myEveryContent);
    $.writeln(myEveryAttributes.length);
    for(var i=0; i<myEveryAttributes.length; i++)
      $.writeln(myEveryAttributes[i]);
    function traverse(tree) {
        myEveryName.push(tree.name());
    myEveryContent.push(tree.text());
      myEveryAttributes.push(tree.getAttribute);
    // you get the contents by using .text() insted of .name()
        if(tree.elements().length() > 0) {
            for(var i=0; i<tree.elements().length(); i++) {
                traverse(tree.elements()[i]);
    //============== End =====================//
    and the XML Structure is
    //===============XML =====================//
    <?xml version="1.0" encoding="UTF-8"?>< Entity_Convertion>
    < Entitys char="Ç" GID="173"/></ 
    Entity_Convertion>
    //===============End ====================//
    Here I'm getting the XML Elements and its contents, but not xmlAttributes.
    Please any one can help me, then I will appreciate...
    Thanks & Regards
    T.R.Harihara SudhaN

  • Modify Transition element in work flow using for and not attributes to restrict access

    Hi,
    I have TFS 2013 for my premises and I am working on changing the work flow for TFS work item. I have created a work item as per requirement and it has 3 states
    Active, In Review and Closed in work flow. When developer creates a work item it is in Active state and later it is sent to In Review and then to close after successful review.
    My question is I want development team to be restricted to move the work item to Close state. At present when developer creates a new work item they see Active state. At this point they can not see any other states in the work item. Later they
    fill the details and after checkin they will put that work item to In Review state. At this point they can see Active and In Review states. When they save this work item and modify it again they see Close state as well. I want to design the Transition element
    in work flow in such a way then developers should not be able to see the Close state at all in a work item assigned to them. Only reviewer should be able to transit the work item from In Review to Close.
    I checked the for and not attributes in the transition element but I have no idea about correct syntax I should use to enforce the restriction. I would also like to mention here that I have no separate groups defined in my TFS server. Every
    one is a part of contributor's group. There is no specific group of reviewers and one developer reviews the code of another. I want to design the work flow in such a way that the developer who creates (or gets assigned) the work item should
    not be able to put their own work item in Close state but they should be able to close another developer's work item if that work item has his name in the reviewer's box.
    I have tried to simplify my question by elaborating it hope it is not complex to understand. Let me know if you want further clarification on this.
    Regards, Premal Acharya

    Hi Premal,
    For your scenario, seems the "for" and "not" attributes not are unavailable to make it happens. Because of the developers not in groups, and the same type of work items can be assigned to all the developers hence the attributes cannot
    be allow and deny users in the groups concurrently. Please check the
    page for more information about transition xml element.
    Based on your situation, you can separate the development group and test group. Then you can only allow test group to change the state.
    Best regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Modify New VO but not able to see Attribute Value.

    Hi ,
    I am facing one problems during my VO extend. I have done below step,
    1) Created new XXCustomVO based on exsiting CustomVO.Created new Attribute, modify SQL and mapped and gave new Name XXCustomInfoVO.
    2) Assign this new XXCustomVO to new filed with Attribute name.
    4) Copy XXCustomVO.xml and all class file from Desktop to Server in respecitve folder.
    5) Import Page regions which i have created New Item.
    6) Import with JPXImport.("Porject substitutions" )
    7) Now I run the page no errors found but not able to see new attribute Data.
    Then I checked "About Page" but everything is refected correctly only not able to see new attribute data.
    Can you please help me out. Is there any wrong thing i am doing or something is missing still.
    Thanks

    Hi ,
    Even exsiting attribute value alos not display. I mean I have 20 attribute in this exsiting VO and I have add one more XX attribute and same as XXVO but non of value is display out of 21 attibute.
    Even i have hard coded "1234" for this attribute but always return null.
    Where I have to foucs.
    thanks
    Raj
    Message was edited by:
    RajPatel

  • XML-24521: (Error) Element not completed

    I am trying to map a collection of information to a partnerlink's input variable, using a for-each xsl node in the transformation, however I receive this error during my testing:
    Target XML is invalid for the target schema.
    <Line 14, Column 38>: XML-24521: (Error) Element not completed: 'ExecuteGloviaSP4ProcessRequest'
    At first I thought this was an issue related to the database adapter, now I'm thinking it has to do with the collection or the xsd? But we modled the xsd after the OrderBooking PO xsd...
    Here's my Transformation_1.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
    <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
    <mapSources>
    <source type="WSDL">
    <schema location="http://Comp3/RFPOTest.wsdl"/>
    <rootElement name="invoiceCollection" namespace="http://199.244.49.95/NotesRFPOInvoice.xsd"/>
    </source>
    </mapSources>
    <mapTargets>
    <target type="WSDL">
    <schema location="http://bpel.thomasnow.com:80/orabpel/default/ExecuteGloviaSP4/ExecuteGloviaSP4?wsdl"/>
    <rootElement name="ExecuteGloviaSP4ProcessRequest" namespace="http://xmlns.oracle.com/ExecuteGloviaSP4"/>
    </target>
    </mapTargets>
    <!-- GENERATED BY ORACLE XSL MAPPER 10.1.2.0.0(build 050504) AT [FRI MAR 24 08:49:55 CST 2006]. -->
    ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://Comp3/RFPOTest.wsdl" xmlns:xsd1="http://199.244.49.95/NotesRFPOInvoice.xsd" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:ns1="http://xmlns.oracle.com/ExecuteGloviaSP4" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc" exclude-result-prefixes="xsl ns0 soap tns xsd1 plnk ns1 wsa bpws ldap xp20 ora orcl">
    <xsl:template match="/">
    <xsl:for-each select="/xsd1:invoiceCollection">
    <ns1:ExecuteGloviaSP4ProcessRequest>
    <ns1:invCCN>
    <xsl:value-of select="xsd1:invoice/xsd1:invCCN"/>
    </ns1:invCCN>
    <ns1:invVendorNbr>
    <xsl:value-of select="xsd1:invoice/xsd1:invVendorNbr"/>
    </ns1:invVendorNbr>
    <ns1:invVendorApLoc>
    <xsl:value-of select="xsd1:invoice/xsd1:invVendorApLoc"/>
    </ns1:invVendorApLoc>
    <ns1:invVendorInvoiceNbr>
    <xsl:value-of select="xsd1:invoice/xsd1:invVendorInvoiceNbr"/>
    </ns1:invVendorInvoiceNbr>
    <ns1:invTotal>
    <xsl:value-of select="xsd1:invoice/xsd1:invTotal"/>
    </ns1:invTotal>
    <ns1:invFreight>
    <xsl:value-of select="xsd1:invoice/xsd1:invFreight"/>
    </ns1:invFreight>
    <ns1:invTax>
    <xsl:value-of select="xsd1:invoice/xsd1:invTax"/>
    </ns1:invTax>
    <ns1:invDate>
    <xsl:value-of select="xsd1:invoice/xsd1:invDate"/>
    </ns1:invDate>
    <ns1:invVendorTerms>
    <xsl:value-of select="xsd1:invoice/xsd1:invVendorTerms"/>
    </ns1:invVendorTerms>
    <ns1:invUNID>
    <xsl:value-of select="xsd1:invoice/xsd1:invUNID"/>
    </ns1:invUNID>
    <ns1:invGLDist>
    <xsl:value-of select="xsd1:invoice/xsd1:invGLDist"/>
    </ns1:invGLDist>
    </ns1:ExecuteGloviaSP4ProcessRequest>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>

    Update:
    By mapping static values to the last three elements in the target schema, I was able to make this error go away.
    Here's the code:
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
    <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
    <mapSources>
    <source type="WSDL">
    <schema location="http://Comp3/RFPOTest.wsdl"/>
    <rootElement name="invoiceCollection" namespace="http://199.244.49.95/NotesRFPOInvoice.xsd"/>
    </source>
    </mapSources>
    <mapTargets>
    <target type="WSDL">
    <schema location="http://bpel.thomasnow.com:80/orabpel/default/ExecuteGloviaSP4/ExecuteGloviaSP4?wsdl"/>
    <rootElement name="ExecuteGloviaSP4ProcessRequest" namespace="http://xmlns.oracle.com/ExecuteGloviaSP4"/>
    </target>
    </mapTargets>
    <!-- GENERATED BY ORACLE XSL MAPPER 10.1.2.0.0(build 050504) AT [FRI MAR 24 11:02:02 CST 2006]. -->
    ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://Comp3/RFPOTest.wsdl" xmlns:xsd1="http://199.244.49.95/NotesRFPOInvoice.xsd" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:ns1="http://xmlns.oracle.com/ExecuteGloviaSP4" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc" exclude-result-prefixes="xsl ns0 soap tns xsd1 plnk ns1 wsa bpws ldap xp20 ora orcl">
    <xsl:template match="/">
    <xsl:for-each select="/xsd1:invoiceCollection/xsd1:invoice">
    <ns1:ExecuteGloviaSP4ProcessRequest>
    <ns1:invCCN>
    <xsl:value-of select="xsd1:invCCN"/>
    </ns1:invCCN>
    <ns1:invVendorNbr>
    <xsl:value-of select="xsd1:invVendorNbr"/>
    </ns1:invVendorNbr>
    <ns1:invVendorApLoc>
    <xsl:value-of select="xsd1:invVendorApLoc"/>
    </ns1:invVendorApLoc>
    <ns1:invVendorInvoiceNbr>
    <xsl:value-of select="xsd1:invVendorInvoiceNbr"/>
    </ns1:invVendorInvoiceNbr>
    <ns1:invTotal>
    <xsl:value-of select="xsd1:invTotal"/>
    </ns1:invTotal>
    <ns1:invFreight>
    <xsl:value-of select="xsd1:invFreight"/>
    </ns1:invFreight>
    <ns1:invTax>
    <xsl:value-of select="xsd1:invTax"/>
    </ns1:invTax>
    <ns1:invDate>
    <xsl:value-of select="xsd1:invDate"/>
    </ns1:invDate>
    <ns1:invVendorTerms>
    <xsl:value-of select="xsd1:invVendorTerms"/>
    </ns1:invVendorTerms>
    <ns1:invUNID>
    <xsl:value-of select="xsd1:invUNID"/>
    </ns1:invUNID>
    <ns1:invGLDist>
    <xsl:value-of select="xsd1:invGLDist"/>
    </ns1:invGLDist>
    <ns1:invICN>
    <xsl:value-of select="concat(0,&quot;&quot;)"/>
    </ns1:invICN>
    <ns1:invCurrency>
    <xsl:value-of select="concat(&quot;USD&quot;,&quot;&quot;)"/>
    </ns1:invCurrency>
    <ns1:invGLDistCode>
    <xsl:value-of select="concat(&quot; &quot;,&quot;&quot;)"/>
    </ns1:invGLDistCode>
    </ns1:ExecuteGloviaSP4ProcessRequest>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    However I have a new error now, since I'm also mapping the Collection to the for-each XSL node.
    Target XML is invalid for the target schema.
    <Line 18, Column 1>: XML-20100: (Fatal Error) Expected 'EOF'.
    Searching...

  • Can someone help me understand how ePub CSS @fontface Unicode characters are supported in td , but not in div or other elements?

    Hi,
    I'm working on a project to convert several hundred thousand life sciences articles into epub format, and we have run in to a problem with character entities.
    Being that these are scientific articles, the characters are from a wide range of Unicode charts, and are essential to transmitting the meaning of the data.
    The problem is that in my epub, the character entity inside a table data cell is rendering the @font-face correctly, but inside any other HTML element, the character renders as an empty box on our ipad2s.
    I've placed pre tags in hopes that the unicode will not be rendered in your browser here. The code point in this example is x1d542 just in case.
    So inside div, we see boxes, inside td, we see the character rendered properly.
    <pre>
          <div class="stix">Let &#x1d542; be a field, which will be either the complex numbers &#x02102; or the finite field &#x1d53d;</div>
          <table id="t31" rules="all">
            <tr>
              <td>&#x1d542;</td>
              <td class="stix">&#x1d542;</td>
              <td>U+1D542 MATHEMATICAL DOUBLE-STRUCK CAPITAL K </td>
            </tr>
    </pre>
    My CSS looks like this:
    <pre>
    @font-face {
        font-family: 'STIX';
        src: url('STIX-Regular.otf') format('opentype');
        font-weight: normal;
        font-style: normal;
        unicode-range:  U+02B0-02FF, U+07C0-07FF,  U+0900-097F,U+0F00-0FD8, U+1D00-1D7F, U+1D80-1DBF, U+1D400-1D7FF, U+1E00-1EFF, U+1F00-1FFE,U+2000-206F, U+20A0-20B8, U+20D0-20F0, U+2300,23FF, U+25A0-25FF, U+2600-26FF, U+27C0-27EF, U+27F0-27FF, U+2900-297F, U+2A00-2AFF, U+2B00-2B59, U+2C60-2C7F ;
    @font-face {
        font-family: 'STIX-Math';
        src: url('STIXMath-Regular.otf') format('opentype');
        font-weight: normal;
        font-style: normal;
        unicode-range:  U+02B0-02FF, U+07C0-07FF,  U+0900-097F,U+0F00-0FD8, U+1D00-1D7F, U+1D80-1DBF, U+1D400-1D7FF, U+1E00-1EFF, U+1F00-1FFE,U+2000-206F, U+20A0-20B8, U+20D0-20F0, U+2300,23FF, U+25A0-25FF, U+2600-26FF, U+27C0-27EF, U+27F0-27FF, U+2900-297F, U+2A00-2AFF, U+2B00-2B59, U+2C60-2C7F ;
    .stix   {
            font-family: "STIX", "STIX-Math", sans-serif;
    </pre>
    Is it possible that this is a rendering bug, because the character is rendering in the table cell, but not in other elements?
    Have I missed something obvious?
    Thanks,
    Abe

    I assume you are including the STIX font as part of your epub files?     
    Perhaps the folks who do this blog might be able to help -- they have done some work with font embedding:
    http://www.pigsgourdsandwikis.com/2011/04/embedding-fonts-in-epub-ipad-iphone-an d.html

  • XML,CLOB  AND MEMORY : CONSUMED BUT NOT RELEASED !!!

    Hi,
    I'm working with XMLGEN Package and XSLT Processor to produce XML Document on Oracle 8.1.7.3 server, I use 9i XML and Java packages.
    I'm facing the following BIG MEMORY problem :
    Environment : I must generate an XML parsed with an XSL document of 80Mo (nearly 22 000 rows),
    as XMLGEN is on DOM parsing method, I extract my XML by 500 Rows and I loop until 22 000 rows. I use DBMS_JOB with jobs who read and execute export each minute.
    The algorithme is :
    keeprow=22000
    while keeprow>0
    Create 3 clob (DBMS_LOB Package) : one for XSL Sheet, one for XML and one for result
    GetXML (XMLGEN Package)
    Transform in XSL (XSL Processor)
    Write to disk (UTL_FILE Package)
    Free the 3 Clob ((DBMS_LOB Package))
    keeprow =keeprow-500
    loop
    The problem : The process start at 250Mo ot total memory and END at 1000 Mo of used memory and NEVER RELEASE 1 ko of memory.
    So often I get a JavaOutOfMemoryError (I've allocated 1Go Ram to my JAVA process).
    Any help will be very very appreciated !
    My derived problem is 22 000 rows is not enough I've some export of 200 000 rows to do (And I cannot allocate 10 Go of RAM !!!)
    Following My PL/SQL Code.
    Regards
    Fred
         PROCEDURE DO_EXPORT_XML(
                   P_JOB_ID JOB_PARAMETRE.JOB_ID%TYPE,
                   P_JOB_ID_ORDRE JOB_PARAMETRE.JOB_ID_ORDRE%TYPE,
                   P_CLE_UP UPLOADREQ_TEMP.ID%TYPE,
                   P_LOAD_OR_DELOAD VARCHAR2)
              IS
              L_FILE_NAME JOB_PARAMETRE.JOB_FILE_NAME_DEST%TYPE;
              L_REP_NAME JOB_PARAMETRE.JOB_REP_NAME_DEST%TYPE;
              L_FILE_STYLESHEET JOB_PARAMETRE.JOB_STYLESHEET%TYPE;
              L_VERSION_PDM JOB_PARAMETRE.JOB_VPDM%TYPE;
              P_SELECT varchar2(4000):='';
              P_CURSOR varchar2(4000):='';
         l_filehandler_out UTL_FILE.FILE_TYPE;
              --Variable pour le traitement par lot de 500
              L_NBROW_TODO_ATONCE number := 500;
              L_NBROW_MIN number := 1;
              L_NBROW_MAX number := -1;
              L_NBROWKEEPTODO number := -1;
              xslString CLOB := null;
              res number default -1;
              xmlString CLOB := null;
              li_ret number := 0;
              li_faitle number := 0;
              amount integer:= 255;
              li_loop integer := 0;
              charString varchar2(255);
              ls_deload varchar2(255) default '';
              ls_SQL varchar2(4000) default '';
              ls_temp_file varchar2(255) default '';
              text_file_dir varchar2(32) := 'e:\temporarydir';
              l_par xmlparser.parser;
         l_xml xmldom.domdocument;
         l_pro xslprocessor.processor;
         l_xsl xslprocessor.stylesheet;
              docfragnode xmldom.DOMNode;
              docfrag xmldom.DOMDocumentFragment;
              l_parsedclob clob := null;
              l_amount binary_integer := 32767;
              l_ligne varchar2(32767);
              l_offset number default 1;
              l_pos number default null;
              l_pos2 number default null;
              l_lobsize number default null;
              l_memsize number default 1073741824; --1024 Mo
              l_mempipo number default 0;
              type rc is ref cursor;
              l_cursor rc;
              cursor TEMPLATE is select UNSPSC,1 as NB from UPLOADREQ_TEMP where 1=2;
              c1rec TEMPLATE%rowtype;          
              BEGIN
              l_mempipo:=setmaxmemorysize(l_memsize);
              dbms_lob.createtemporary(l_parsedclob, true, dbms_lob.session);
              dbms_lob.createtemporary(xmlstring, true, dbms_lob.session);
              --return the good select
              GET_SELECT_TO_EXPORT_XML(P_JOB_ID , P_JOB_ID_ORDRE , P_CLE_UP , P_SELECT,P_CURSOR, P_LOAD_OR_DELOAD);
                        SELECT JOB_FILE_NAME_DEST,JOB_REP_NAME_DEST,JOB_STYLESHEET
                        INTO L_FILE_NAME,L_REP_NAME,L_FILE_STYLESHEET
                        FROM JOB_PARAMETRE
                        WHERE JOB_ID =P_JOB_ID AND JOB_ID_ORDRE=P_JOB_ID_ORDRE;
                        l_filehandler_out := UTL_FILE.FOPEN(text_file_dir, L_FILE_NAME, 'w',l_amount);
                        --Return XSL Sheet in a clob : cause of memory consumed  but not released
                   xslString := METACAT.load_a_file( 1,L_FILE_STYLESHEET);     
                        open l_cursor for P_CURSOR;
    LOOP
                   fetch l_cursor into c1rec;
                   exit when l_cursor%notfound;
                             L_NBROW_MIN := 1;
                             L_NBROW_MAX := 0;
                             L_NBROWKEEPTODO:=c1rec.NB;
                             LOOP
                             begin
                                  if(L_NBROWKEEPTODO > L_NBROW_TODO_ATONCE) THEN
                                       begin
                                       L_NBROW_MAX:= L_NBROW_TODO_ATONCE + L_NBROW_MAX;
                                       L_NBROWKEEPTODO:= L_NBROWKEEPTODO - L_NBROW_TODO_ATONCE;
                                       end;
                                  else
                                       begin
                                       L_NBROW_MAX:= L_NBROW_MAX + L_NBROWKEEPTODO;
                                       L_NBROWKEEPTODO:=0;
                                       end;
                                  end if;
                                  --on ouvre le fichier de risultats
                                  ls_SQL:= P_SELECT || ' AND ( ROWNUM BETWEEN ' || L_NBROW_MIN || ' AND ' || L_NBROW_MAX || ' ) and UNSPSC=''' || c1rec.UNSPSC || '''';
                                  ls_temp_file := c1rec.UNSPSC || '_' || L_FILE_NAME;
                                  L_NBROW_MIN:=L_NBROW_TODO_ATONCE + L_NBROW_MIN;
                                  --CAT_AUTOLOAD.JOB_ADD_TRACE (P_JOB_ID,'UPLOAD REQUISITE : Export donnies REQUETE ' || to_char(li_loop), ls_SQL,'',0,0);
                                  xmlgen.resetOptions;
                                  xmlgen.setErrorTag('ERROR_RESULT');
                                  xmlgen.setRowIdAttrName('NAH');
                                  xmlgen.setRowIdColumn('NAH');
                                  xmlgen.setEncodingTag('ISO-8859-1');
                                  xmlgen.useNullAttributeIndicator(false);
                                  if(xmlString is not null) then
                                       dbms_lob.open(xmlString,dbms_lob.lob_readwrite);
                                       l_lobsize:= dbms_lob.Getlength(xmlString);
                                       if(l_lobsize>0) then
                                       dbms_lob.erase(xmlString,l_lobsize,1);
                                       end if;
                                       dbms_lob.close(xmlString);
                                  dbms_lob.freetemporary(xmlString);
                                       dbms_lob.createtemporary(xmlstring, true, dbms_lob.session);
                                  end if;
    --Return XML in a clob : cause of memory consumed  but not released
                                  xmlString := xmlgen.getXML(ls_SQL,0);
                                  l_par := xmlparser.newparser;
                                  xmlparser.parseclob(l_par, xslString);
                                  l_xsl := xslprocessor.newstylesheet(xmlparser.getdocument(l_par),null);
                                  xmlparser.parseclob(l_par, xmlString);
                                  l_xml := xmlparser.getdocument(l_par);
                                  l_pro := xslprocessor.newprocessor;
                                       xslprocessor.showWarnings(l_pro, true);
                                       xslprocessor.setErrorLog(l_pro, text_file_dir || substr(ls_temp_file,0,length(ls_temp_file)-4) || '_logerreur.XML');
                                       if(l_parsedclob is not null) then
                                                 dbms_lob.open(l_parsedclob,dbms_lob.lob_readwrite);
                                                 l_lobsize:= dbms_lob.Getlength(l_parsedclob);
                                                 if(l_lobsize>0) then
                                                 dbms_lob.erase(l_parsedclob,l_lobsize,1);
                                                 end if;
                                                 dbms_lob.close(l_parsedclob);
                                            dbms_lob.freetemporary(l_parsedclob);
                                                 dbms_lob.createtemporary(l_parsedclob, true, dbms_lob.session);
                                       end if;
                        --Return XML Processed with XSL in a clob : cause of memory consumed  but not released
                                  xslprocessor.processxsl(l_pro,l_xsl,l_xml,l_parsedclob);
                                       --release NOTHING
                                  xmlparser.freeparser(l_par);
                                  xslprocessor.freeprocessor(l_pro);
                                                      l_ligne:='';
                                                      l_offset :=1;
                                                      l_pos := null;
                                                      l_pos2 := null;
                                                      if(li_loop=0) then
                                                           begin
                                                                --on ouvre le fichier et on sauve l'entete + les donnies dedans.
                                                                     l_pos:=dbms_lob.instr(l_parsedclob,'</DATA>');
                                                      if ( nvl(l_pos,0) > 0 ) then
                                                                          loop
                                                                          if(l_pos-1>l_amount + l_offset ) then
                                                                                    l_ligne:=dbms_lob.SUBSTR(l_parsedclob,l_amount,l_offset);
                                                                                    UTL_FILE.PUT(l_filehandler_out,l_ligne);
                                                                                    UTL_FILE.fflush(l_filehandler_out);
                                                                                    l_offset:=l_offset+l_amount;
                                                                               else
                                                                                    l_ligne:=dbms_lob.SUBSTR(l_parsedclob,l_pos-1 -l_offset ,l_offset);
                                                                                    UTL_FILE.PUT(l_filehandler_out,l_ligne);
                                                                                    UTL_FILE.fflush(l_filehandler_out);
                                                                                    exit;
                                                                               end if;
                                                                          end loop;
                                                                     else
                                                                          EXIT;
                                                                     end if;
                                                           end;
                                                      else
                                                           --on met les donnies donc on ne repete pas le debut
                                                           begin
                                                                     l_pos:=dbms_lob.instr(l_parsedclob,'<ITEM');
                                                      if ( nvl(l_pos,0) > 0 ) then
                                                                     l_pos2:=dbms_lob.instr(l_parsedclob,'</DATA>');
                                                      if ( nvl(l_pos2,0) > 0 ) then
                                                                          loop
                                                                          if(l_pos + l_amount <= l_pos2 -1 ) then
                                                                                    l_ligne:=dbms_lob.SUBSTR(l_parsedclob,l_amount,l_pos);
                                                                                    UTL_FILE.PUT(l_filehandler_out,l_ligne);
                                                                                    UTL_FILE.fflush(l_filehandler_out);
                                                                                    l_pos:=l_pos +l_amount;
                                                                               else
                                                                                    l_ligne:=dbms_lob.SUBSTR(l_parsedclob,l_pos2 -1 -l_pos,l_pos);
                                                                                    UTL_FILE.PUT(l_filehandler_out,l_ligne);
                                                                                    UTL_FILE.fflush(l_filehandler_out);
                                                                                    exit;
                                                                               end if;
                                                                          end loop;
                                                                          else
                                                                          exit;                                                                      
                                                                          end if;
                                                                     end if;
                                                           end;
                                                      end if;
                                                 li_loop:=li_loop + 1 ;
                                                 --UTL_FILE.FCLOSE(l_filehandler_in);
                                                 JAVA_GC();
                                                 EXIT WHEN L_NBROWKEEPTODO=0;
                                                 Exception
                                                 when others then
                                                      begin
                                                      -- IF(utl_file.is_open(l_filehandler_in)) THEN
                                                      --               utl_file.fclose( l_filehandler_in);
                                                      -- END IF;
                                                      IF(utl_file.is_open(l_filehandler_out)) THEN
                                                                     utl_file.fclose( l_filehandler_out);
                                                      END IF;
                                                      RAISE_APPLICATION_ERROR(-20001,'File with errors');
                                                      end;
                             END;
                             END LOOP;
    END LOOP;
    CLOSE l_cursor;
                        if ( xmlString is not null ) then
                                  dbms_lob.open(xmlString,dbms_lob.lob_readwrite);
                                  l_lobsize:= dbms_lob.Getlength(xmlString);
                                  if(l_lobsize>0) then
                                  dbms_lob.erase(xmlString,l_lobsize,1);
                                  end if;
                                  dbms_lob.close(xmlString);
                                  dbms_lob.freeTemporary( xmlString);
                        end if;
                        if(l_parsedclob is not null) then
                                  dbms_lob.open(l_parsedclob,dbms_lob.lob_readwrite);
                                  l_lobsize:= dbms_lob.Getlength(l_parsedclob);
                                  if(l_lobsize>0) then
                                       dbms_lob.erase(l_parsedclob,l_lobsize,1);
                                  end if;
                                  dbms_lob.close(l_parsedclob);
                                  dbms_lob.freetemporary(l_parsedclob);
                        end if;
                        UTL_FILE.NEW_LINE(l_filehandler_out);
                        l_ligne:='</DATA></CATALOG>';
                        UTL_FILE.PUT(l_filehandler_out,l_ligne);
                        UTL_FILE.FCLOSE(l_filehandler_out);                    
                   EXCEPTION
                   when others then
                             begin
                             IF(utl_file.is_open(l_filehandler_out)) THEN
                                       utl_file.fclose( l_filehandler_out);
                                  END IF;
                             end;     
              END;
    ******************************

    Thank you for the info - I had no idea I was puing myself in danger by cutting it so close.  Since your post I have moved my iphoto library to an external drive and now have 165 GB of space on my HD.  Following this I have 2 questions.
    1.  Since my available HD space was reduced by the size of the photo download it seems logical that the download is somewhere on my HD still.  Is there a place where these photos might be hiding on my HD even though they are not available on the iphoto library?
    2.  I was able to recover the .jpg files which are fine.  I also recovered the .mov files but they have been compromised.  I am hoping I can find the originals still on the HD somewhere.  If not, do you have any suggestions for recovery methods or programs?  I have not used the SD card since the incident so I should be able to attempt another recovery to salvage the .mov files if there is an alternative method/program available.
    Thanks again!

Maybe you are looking for