XPathOrder (obsolete XmlDoc property)

From m204wiki
Jump to navigation Jump to search

Collating sequence for XPath comparisons

XPathOrder is a member of the XmlDoc class.

This property indicates what kind of ordered comparison Janus SOAP uses for Xpath expressions. Note: As described in the ?? refid=unxpord page=no. below, the XPathOrder property is invalid as of Sirius Mods version 7.3.


  %curr = doc:XPathOrder
  doc:XPathOrder = newvalue

Syntax Terms

The XPathOrder enumeration value of doc's XPathOrder property. Valid values are Unicode and EBCDIC, as described in ?? page=no refid=unxpord., below.
An XmlDoc object expression.
The XPathOrder value (see below) to assign to doc's XPathOrder property.

Usage Notes

  • Pror to Sirius Mods version 7.3, the XPathOrder property was available (with a default value of Unicode) to allow EBCDIC ordered string comparisons in XPath. As of Sirius Mods 7.3, only Unicode ordered string comparisons are used, and the XPathOrder property is invalid, in observance of the following conclusions about ordered string comparisons in XPath:
    • They are only a feature of the XPath 2 recommendation, which became a recommendation quite recently (January, 2007).
    • Careful consideration and discussion with customers leads Sirius to believe that ordered string comparisons are infrequently used.
    • If they are used, it is felt that using the XPath 2 standard ordering rules (that is, the Unicode code point) is the proper approach.
    • It seems somewhat unlikely that the differences between Unicode and EBCDIC comparisons would be material in most applications (for example, comparing decimal digits and alphabetics, and upper- versus lower-case ordering issues).
  • The values of the XPathOrder property are of type Enumeration XPathOrder. These values, and their meanings, are shown below. The first example in ?? refid=xpoxmp page=no. below describes a case where you need to be concerned about this property. For more information about enumerations, see Enumerations.
    This is the initial value of the XPathOrder property. This setting, which corresponds to the string comparison semantics defined in the XPath Recommendation, indicates that ordered comparisons in XPath are done with the Unicode collating sequence.
    This setting, which corresponds to the string comparison semantics performed in User Language, indicates that ordered comparisons in XPath are done with the EBCDIC collating sequence.


  • For example, given this document:
          <a a="a"/>
          <b b="b"/>
          <A A="A"/>
          <B B="B"/>

    The following table shows the names of elements selected:

        XPath expression    XPathOrder=Unicode   XPathOrder=EBCDIC
        ----------------    ------------------   -----------------
        /*/*[@* <= "a"]     a A B                a
        /*/*[@* <= "A"]     A                    a b A

    These ordering differences should only concern you if, for example, your User Language application depends on the ordering of uppercase versus lowercase letters, and ordering operations of these strings are done both in User Language expressions and in XPath expresssions.

  • The following example obtains the string value of the XPathOrder property:
        %str = doc:XPathOrder:ToString

Request-Cancellation Errors (for set method)

  • newvalue is an invalid value.