Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Current (Nightly)
    • Component/s: xml/om
    • Labels:
      None
    • Environment:
      Any

      Description

      We need to have the X-Path support in AXIOM/C. This is essential in many scenarios where we need to specify a particular set of XML nodes. On example comes with WS-Security Policy where we have to specify a particular node that is needed to be encrypted/signed. Due to lack of X-Path support in AXIOM we are forced to find alternative methods.

      1. xpath-oct-14.zip
        79 kB
        Varuna Parinda Jayasiri
      2. xpath.zip
        3 kB
        Varuna Parinda Jayasiri
      3. xpath.zip
        5 kB
        Varuna Parinda Jayasiri
      4. xpath.zip
        5 kB
        Varuna Parinda Jayasiri
      5. xpath.zip
        7 kB
        Varuna Parinda Jayasiri
      6. xpath.zip
        9 kB
        Varuna Parinda Jayasiri
      7. xpath.zip
        11 kB
        Varuna Parinda Jayasiri
      8. xpath.zip
        12 kB
        Varuna Parinda Jayasiri
      9. xpath.zip
        17 kB
        Varuna Parinda Jayasiri
      10. xpath.zip
        17 kB
        Varuna Parinda Jayasiri
      11. xpath.zip
        18 kB
        Varuna Parinda Jayasiri
      12. xpath.zip
        130 kB
        Varuna Parinda Jayasiri
      13. xpath.zip
        144 kB
        Varuna Parinda Jayasiri

        Activity

        Malinda Kaushalye Kapuruge created issue -
        Hide
        Manjula Peiris added a comment -

        I also think we should have some way of handling xpath in current axiom implementation. In Security policy to specify encryption or signing of a particular element inside a soap header block or body the only way is xpath. Since we don't have xpath support we have defined our own ways in configurations which may cause interop problems in some advanced scenarios.

        Show
        Manjula Peiris added a comment - I also think we should have some way of handling xpath in current axiom implementation. In Security policy to specify encryption or signing of a particular element inside a soap header block or body the only way is xpath. Since we don't have xpath support we have defined our own ways in configurations which may cause interop problems in some advanced scenarios.
        Hide
        Dinesh Weerapurage added a comment -

        We have gsoc-2008 project related to issue. Whoever working on that project please make sure to update this issue accordingly .

        Show
        Dinesh Weerapurage added a comment - We have gsoc-2008 project related to issue. Whoever working on that project please make sure to update this issue accordingly .
        Hide
        Varuna Parinda Jayasiri added a comment -

        XPath API with a very basic parser and engine.
        Please leave your comments about the API, coding style, and any other suggestions.

        Show
        Varuna Parinda Jayasiri added a comment - XPath API with a very basic parser and engine. Please leave your comments about the API, coding style, and any other suggestions.
        Varuna Parinda Jayasiri made changes -
        Field Original Value New Value
        Attachment xpath.zip [ 12382240 ]
        Hide
        Dimuthu Gamage added a comment -

        Hi Varuna,
        The API and the code looks excellent. It is better if you can submit test cases for the work done so far (I m sure you already have it.), so we can check how it is working.

        In addition to that I have some comments mostly on the coding conventions. It is better you tied to that from the start

        1. 4 spaces to indent
        2. Even the internal functions typedefs, macros better have the prefix ( to be consistent with the the other places in axis2)
        3. Use meaningful name for the struct variables ( for an example 'void *par1' in 'struct axiom_xpath_operation' is really confusing), at least you should have some comments here
        4. use the block comments /**?. line comments // are not valid in ANCI C
        5. It is better have validation part specially before accessing expressions like (context->expr->operation), you can do the validation one time in the entrance from the API.
        6. Doc comment on the API function ( can be done later on)

        You can find a axis2 coding convention doc here, http://ws.apache.org/axis2/c/coding_conventions.html. But I m not sure whether it is updated.

        Thanks
        Dimuthu

        Show
        Dimuthu Gamage added a comment - Hi Varuna, The API and the code looks excellent. It is better if you can submit test cases for the work done so far (I m sure you already have it.), so we can check how it is working. In addition to that I have some comments mostly on the coding conventions. It is better you tied to that from the start 1. 4 spaces to indent 2. Even the internal functions typedefs, macros better have the prefix ( to be consistent with the the other places in axis2) 3. Use meaningful name for the struct variables ( for an example 'void *par1' in 'struct axiom_xpath_operation' is really confusing), at least you should have some comments here 4. use the block comments /**?. line comments // are not valid in ANCI C 5. It is better have validation part specially before accessing expressions like (context->expr->operation), you can do the validation one time in the entrance from the API. 6. Doc comment on the API function ( can be done later on) You can find a axis2 coding convention doc here, http://ws.apache.org/axis2/c/coding_conventions.html . But I m not sure whether it is updated. Thanks Dimuthu
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12382670 ]
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12382746 ]
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12382780 ]
        S.Uthaiyashankar made changes -
        Assignee S.Uthaiyashankar [ shankar ]
        Hide
        Supun Kamburugamuva added a comment -

        Hi Varuna,

        Are you following the Java Axiom XPath design?

        Supun..

        Show
        Supun Kamburugamuva added a comment - Hi Varuna, Are you following the Java Axiom XPath design? Supun..
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12383895 ]
        Hide
        Varuna Parinda Jayasiri added a comment -

        A shell script has been included, which compiles and runs the tester.

        Show
        Varuna Parinda Jayasiri added a comment - A shell script has been included, which compiles and runs the tester.
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12384449 ]
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12384479 ]
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12385413 ]
        Hide
        Varuna Parinda Jayasiri added a comment -

        A better tester with more test cases

        Show
        Varuna Parinda Jayasiri added a comment - A better tester with more test cases
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12385600 ]
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12385936 ]
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12388401 ]
        Varuna Parinda Jayasiri made changes -
        Attachment xpath.zip [ 12388437 ]
        Hide
        Dumindu Pallewela added a comment -

        I have created a branch for integrating Varuna's xpath implementation with axis2/c: https://svn.apache.org/repos/asf/webservices/axis2/branches/c/xpath_integration

        Show
        Dumindu Pallewela added a comment - I have created a branch for integrating Varuna's xpath implementation with axis2/c: https://svn.apache.org/repos/asf/webservices/axis2/branches/c/xpath_integration
        Dumindu Pallewela made changes -
        Assignee S.Uthaiyashankar [ shankar ] Dumindu Pallewela [ dumindu ]
        Varuna Parinda Jayasiri made changes -
        Attachment xpath-oct-14.zip [ 12392092 ]
        Hide
        Dumindu Pallewela added a comment -

        Committed the xpath implementation attached by varuna.

        Show
        Dumindu Pallewela added a comment - Committed the xpath implementation attached by varuna.
        Dumindu Pallewela made changes -
        Resolution Fixed [ 1 ]
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s Current (Nightly) [ 12310740 ]

          People

          • Assignee:
            Dumindu Pallewela
            Reporter:
            Malinda Kaushalye Kapuruge
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development