XML diff - ignoring order

I'm working a project which basically involves producing a diff of 2 XML files. I recently discovered XDK and though that this would be the best way to do this.
However, after I implemented the XDK solution, I found that it makes a distinction between files with different node ordering, even when these are logically equivalent. The files I am operating on have no ordering guarantees. Is there a way to accomplish a logical (rather than physical) XML comparison using XKD? Or should I look at another product?

How are you processing the XML? Are you passing XML directly to merge or are you using XML Agent to transform the data to field nominated? Are you applying an XSLT?

Similar Messages

  • XML Pub: Purchase Order  Report (Portrait) running too long

    Hi:
    "XML Pub: Purchase Order Report (Portrait)" running too long. It should be 1min. but now over 20min. This is 11.5.10.2 on unix.
    The log file is like the following. It stops there. I checked another one ran before, there are more data...
    +-----------------------------
    | Starting concurrent program execution...
    +-----------------------------
    Arguments
    P_report_type='R'
    P_po_num_from='6640015'
    P_po_num_to='6640015'
    P_test_flag='N'
    P_user_id='14955'
    P_QTY_PRECISION='4'
    P_fax_ind='N'
    P_EMAIL_IND='N'
    P_REQUEST_SOURCE='MANUAL'
    Environment will now switch to UTF-8 code-set.
    Parts of this log file may not display correctly
    as a result. This is an expected behavior.
    XML_REPORTS_XENVIRONMENT is :
    /oracle/product/8.0.6finshdw/guicommon6/tk60/admin/Tk2Motif_UTF8.rgb
    XENVIRONMENT is set to /oracle/product/8.0.6finshdw/guicommon6/tk60/admin/Tk2M
    otif_UTF8.rgb
    Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are :
    American_America.UTF8
    ===============================================
    From the internal Manager log:
    Process monitor session started : 29-APR-2011 12:35:56
    Internal Concurrent Manager found node APPSNOTE2 to be down. Adding it to the l
    ist of unavailable nodes.
    Process monitor session ended : 29-APR-2011 12:36:00
    Process monitor session started : 29-APR-2011 12:38:00
    Process monitor session ended : 29-APR-2011 12:38:04
    Process monitor session started : 29-APR-2011 12:40:04
    Process monitor session ended : 29-APR-2011 12:40:09
    Process monitor session started : 29-APR-2011 12:42:09
    Internal Concurrent Manager found node APPSNOTE1 to be down. Adding it to the l
    ist of unavailable nodes.
    Process monitor session ended : 29-APR-2011 12:42:15
    ======================
    please advise.

    last lines of FNDCPGSC29793.tx
    )]:BEGIN :[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.sleep()]:Waiting 10 seconds (10000 ms)
    [ 1:STATEMENT:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.run()]:Running loop from the top.
    -1:-1:PROCEDURE:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.processControlEvent(String)]:BEGIN (noEvent)
    :-1:-1:STATEMENT:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.processControlEvent(String)]:Did not receive any control events.
    -1:PROCEDURE:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsm.GSMQueueProcessor.process()]:BEGIN
    :-1:PROCEDURE:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsm.GSMQueueProcessor.read()]:BEGIN
    :-1:STATEMENT:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.run()]:Running loop from the top.
    -1:-1:PROCEDURE:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.processControlEvent(String)]:BEGIN (noEvent)
    :-1:STATEMENT:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.processControlEvent(String)]:Did not receive any control events.
    :-1:PROCEDURE:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.SvcComponentMonitor.process()]:BEGIN
    -1:-1:PROCEDURE:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.SvcComponentMonitor.startAutomaticComponents()]:BEGIN
    -1:STATEMENT:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.SvcComponentMonitor.process()]:On-Demand monitoring will not occur this round; the count is 3 out of 5
    [Apr 29, 2011 1:19:5 :-1:-1:STATEMENT:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.run()]:Resetting Error Count
    [Apr 29, 2011 1:19:51  1:-1:PROCEDURE:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.sleep()]:BEGIN :1304097591452:Thread[ComponentMonitor,5,main]:0:-1:
    -1:STATEMENT:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.sleep()]:Waiting 60 seconds (60000 ms)
    [Apr 29, 2011 1:20:00 PM EDT] 1:-1:PROCEDURE:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.sleep()]:BEGIN
    [Apr 29, 2011 1:20:00 PM EDT]: 4:-1:-1:STATEMENT:[SVC-GSM-WFALSNRSVC-262965 : oracle.apps.fnd.cp.gsc.Processor.sleep()]:Waiting 10 seconds (10000 ms)
    Edited by: user9231603 on Apr 29, 2011 10:22 AM
    Edited by: user9231603 on Apr 29, 2011 10:25 AM

  • XML diff and merge - free lib?

    I'm using my own XML communication protocol and got a problem. I transfer a configuration with this protocol, and the config can grow very large. So I want to create a diff of old/new configuration an transfer only this diff. On the receiver side the last received config should be patched with the diff.
    I'm using JDOM.
    Is there a free lib for XML diff and merge/patch available? I already googled for it but found only a commercial lib.
    Thanks in advance

    I like ExamDiff for Windows. It was free last time I downloaded it, but I haven't looked in a while.
    I don't know of any good merge tools, streamy. I'll have to crib what comes back from others.
    %

  • Use XML-Diff Elsewhere

    I have been looking for XML Diff for quite some time.
    I was pleased to see the feature in a free application and it encouraged me to use JDeveloper
    http://geoffadf.blogspot.com/2010/02/xml-merge-showing-automatically.html
    What are the licence considerations for using this code (xml-compare.jar) elsewhere?
    E.g. if I wanted to create a Swing Application to just do XML Diff or create a plugin for other IDEs?

    You can't pick up code libraries from the core of JDeveloper and use it in your own application. The code belongs to Oracle.

  • Schema-aware XML Diff utility

    Is there a XML Diff utility/API that is schema aware? i.e. can determine that <foo bar="true"/> is the same as <foo/> if the schema says that the default value for the optional bar attribute is "true".
    As far as I can see, oracle.xml.XMLDiff has no such feature.
    Vijay

    Most XML diff APIs are not schema aware. XML document differences implies differences in XML elements and attributes, not a validation of the XML documents with a schema.
    http://www.devx.com/Java/Article/30943

  • How Create XML for Purcase Order

    Dea all,
    Please advise how to create standard SAP XML for Purchase Order .
    In customizing (WE20) we have set the partner profile, and the PO creates an IDOC on the system.
    Now what should be done to convert it to XML , and where is the definition of the destination for sending the XML file?
    Thanks,
    Moshe

    Various tools are available generate an XML document from a DTD.
    http://www.eclipse.org/webtools/community/tutorials/XMLWizards/XMLWizards.html
    http://www.altova.com/products/xmlspy/dtd_editor.html
    http://www.stylusstudio.com/xml_generator.html

  • XML diff in XML DB

    Hey All,
    Is there a mechanism for getting a diff of XMLTypes/documents in XML DB? Or is the best bet to make/load in my own implementation? Obviously, I don't want to reinvent the wheel if I don't have to.
    Thanks
    Tim

    Nothing in the current release :(...
    However if you are interested in joining the 11g Beta program we might be able to help.
    http://forums.oracle.com/forums/ann.jspa?annID=281

  • XML Validation: ignore non-XML-Header in XML-file(payload): any solutions?

    Dear Experts,
    after I finally managed to configure the XML Validation, we're facing the next problem:
    The payload of the XML files looks like that:
    Abcdef#ABCDEF
    AbcDef#123
    <?xml version="1.0" encoding="UTF-8"?><Document xmlns.....
    as you can see, there's a header which is necessary. The XML Validation works fine if the header is removed manually for testing. If the header is not removed, the validation is not possible ("Content is not allowed in prolog.")
    Is it possible to realise the validation WITH that header? Can I tell SAP PI to ignore the header? Or make any changes to the XSD file?
    Thanks alot!

    Hi Armin,
    Armin Kern wrote:
    > After leaving SAP PI, those 2 lines have to be in that exact place (before the XML part) for further processing. Just deleting it wouldn't be enought. Does the complex design you mentioned complay with this requirement?
    You can put it into the message instead of deleting. And rebuild the "header" in the second step. So you can fullfill the requirement. As mentioned before: The design is complex, this will lead later on to problems. Any change will be difficult, as another developer had to read a long documentation.
    An alternative would be to do all with one interface mapping (without validation):
    1. ABAP / Java mapping deleting the "header" (put it to memory)
    2. Messges Mapping 1:1 each field (will fail in case of wrong format and act as validator)
    3. ABAP / Java mapping restoring the header
    4. Alert will be raised in case of an error (to get the result of the validation)
    Armin Kern wrote:
    > I also thought about splitting the message, deleting those 2 rows in one of the messages, sending this one message to PI again, validate it and if it is correct, send the second message (without mapping) to the final destination. No idea if that is possible at all..
    As well possible. You would need a virtual receiver for the first message, which is sending back a response. For example a servlett, a proxy or a RFC module. In that design you put some logic to the sender, what is actually not bad. But if you do so, why you dont validate there as well (for example with Java)? It would make your design much easier..
    Regards,
    Udo

  • How to use XML Gateway for Order Import and Item Import?

    Hello XML gurus,
    I'm working in Oracle Apps area and do not have much knowledge on XML or web programming. Currently in my project there is a need to use Order Import and Item Import using interface tables and XML Gateway. The items/orders information will be in the XML format from Siebel system, there will be no custom processing...just process the data as-is.
    I've read the XML Gateway user guide but did not understand much.
    Anyone with similar implementation experience?
    I'm looking for a step-by-step guide on what needs to be done in Oracle Apps side to populate the interface tables from XML file and call the import APIs?
    Your inputs, suggestions, tips are highly appreciated. :)
    Thx,
    Jags

    I have a similar requirement to automate the order import and was looking at XML Gateway. Please update if you were able to find more information.
    - Ayyappa

  • XML Diff escape/unescape

    When performing a diff between two xml files that may contain an escaped character i.e.
    <FIELD>This &amp; That</FIELD>
    The resulting xsl does not leave the & escaped producing invalid xml.
    <FIELD>This & That</FIELD>
    Is there some way to instruct the method to escape reserved characters or is the only solution to parse through resulting xsl and escape characters after the fact.

    Hi,
    You might want to try CDATA or the attribute <disable-output-escaping="yes"/>.
    Thanks,
    rajat

  • XML Signature ignoring tag

    Hello
    I have a java class that  signs XML documents using the sap class com.sap.engine.lib.xml.signature.generator.SignatureGenerator.
    The problem is that is ignores the tag <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">, if the document to be signed have a Signature included.
    For example, the xml structured to be signed is:
    <MainTag>
       <Xml1>
           <Xml1Info/>
          <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
          </Signature>   
      </Xml1>
    </MainTag>
    The result should be:
    <MainTag>
       <Xml1>
           <Xml1Info/>
          <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
          </Signature>   
      </Xml1>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    </Signature>   
    </MainTag>
    The problem is that the generated signature is the same if we sign using this source xml:
    <MainTag>
       <Xml1>
           <Xml1Info/>
      </Xml1>
    </MainTag>
    Its completelly ignoring the tag Signature.
    Does anyone have faced this problem?
    I have another question, where I can find the Sap Javadoc for com.sap.engine.lib.xml.signature.generator.SignatureGenerator ?
    Thanks

    HI Vitor,
    I have the same problem.. I am also trying to generate digital signature of an XML  document. I dont know whether there is an api which can do it for me.
    If you have solved it, Can you please share a simple code snippet with me ?
    Regards
    Jony Khatri

  • Standard XML Diff Format

    Hi!
    I have a requirement for expressing the difference between two very large (XML) hierarchies in a (structured) format. XML would be a good fit here. Naturally I could design my own schema for expressing the difference information, but I started thinking that somebody must have faced this same problem already before.
    So, are there any more or less standardized formats for expressing the diff between two XML documents?
    And if yes, any java tools/libraries supporting it?
    Also, I would be interested in hearing if you have any other ideas how to express the diff as efficiently as possible. (All the existing nodes in the hierarchy have a unique id, the minimum requirement is the support for create, delete and edit operations, but support for move (inside the parent/anywhere in the hierarchy)would also be nice.)

    Thanks for the reply. I did try the google method, but everything I came up with where more or less proprietary/commercial, and the actual diff format used was usually not documented and internal to the application.
    And since the prodution of the diff information is not my actual problem here, I was trying to find some diff format standard (something like XSL is for XML transformations) I could then produce myself. (And if there were supporting tools for it, they sure would help in the debugging phase.)
    Propably I should also have mentioned already before, that the diff data that is produced will be handled in several different programming environments (also non-java), so an existing standard would increase the propability for finding some suitable tool-support in other platforms also.

  • Orion-ejb-jar.xml being ignored

    In oc4j 903 my orion-ejb-jar.xml file is being ignored at deployment time. It is in the META-INF directory of the ejb jar. Any ideas?

    changes to this file only get reflected if the tags exist initially. You can;t add new tags and hope to see them miraculously appear - which would be nice! Delete the orion-ejb-jar.xml from the application-deployments directory of your app, and redeploy, a new deployment version of the file will be generated.

  • Web.xml security-constraint order matters?

    After a long and frustrating debuggin session I've just discovered that the order in which <security-constraint>
    entries are added to the web.xml file matters to OC4J.
    That is if a more laxed rule is matched first the rest
    (even though they might be more precise or even an
    exact match won't be applied.
    Is this normal behaviour?
    EXAMPLE BELOW WORKS - INVERT ENTRIES AND IT WILL FAIL
    <security-constraint>
        <web-resource-collection>
          <web-resource-name>Protected</web-resource-name>
          <url-pattern>/admin*.uix</url-pattern>
        </web-resource-collection>
        <auth-constraint>
          <role-name>DSMSuperUser</role-name>
        </auth-constraint>
      </security-constraint>
      <security-constraint>
        <web-resource-collection>
          <web-resource-name>Secure</web-resource-name>
          <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
          <role-name>DSMUser</role-name>
        </auth-constraint>
      </security-constraint>

    Here is an excerpt from the servlet spec stating the proper behavior:
    The container matches URL patterns defined in security constraints
    using the same algorithm described in this specification for matching client
    requests to servlets and static resources as described in SRV.11.1
    SRV.11.1 Use of URL Paths
    Upon receipt of a client request, the web container determines the web application
    to which to forward it. The web application selected must have the the longest
    context path that matches the start of the request URL. The matched part of the URL
    is the context path when mapping to servlets.
    The web container next must locate the servlet to process the request using the
    path mapping procedure described below:
    The path used for mapping to a servlet is the request URL from the request
    object minus the context path. The URL path mapping rules below are used in
    order. The first successful match is used with no further matches attempted:
    1. The container will try to find an exact match of the path of the request to the
    path of the servlet. A successful match selects the servlet.
    2. The container will recursively try to match the longest path-prefix: This is done
    by stepping down the path tree a directory at a time, using the ’/’ character as
    a path separator. The longest match determines the servlet selected.
    3. If the last segment in the URL path contains an extension (e.g. .jsp), the servlet
    container will try to match a servlet that handles requests for the extension.
    An extension is defined as the part of the last segment after the last ’.’ character.
    4. If neither of the previous three rules result in a servlet match, the container will
    attempt to serve content appropriate for the resource requested. If a "default"
    servlet is defined for the application, it will be used.
    The container must use case-sensitive string comparisons for matching.
    So this is STILL an issue w/ 10.1.2.0.2...
    EXAMPLE BELOW WORKS - INVERT ENTRIES AND IT WILL FAIL
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>oemAdmin</web-resource-name>
    <url-pattern>/admin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>OEM_ADMIN</role-name>
    </auth-constraint>
    <user-data-constraint>
    <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>allOem</web-resource-name>
    <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>OEM_USER</role-name>
    </auth-constraint>
    <user-data-constraint>
    <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
    If I don't find a SR for this issue I'll open one b/c this is not acceptable.

  • What the diff between Order Acquisition  with Order management?

    Hi,
    What's the diff between them in SAP, thanks!

    Hi,
    I think Order Acquisition use in module Material management. And Order management use in Sales and Distribution.
    Regards,

Maybe you are looking for