Uploaded image for project: 'OASIS Content Management Interoperability Services (CMIS) TC'
  1. OASIS Content Management Interoperability Services (CMIS) TC
  2. CMIS-529

2.10.2.1 BNF Grammar vs 2.10.2.4.3 CONTAINS() predicate

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Domain Model
    • Labels:
      None

      Description

      The BNF in these two sections do not agree. 2.10.2.1 requires double-quote characters around <text search expression>, while the BNF in 2.10.2.4.3 does not, although the text of 2.10.2.4.3 requires it:

      <text search predicate> ::= CONTAINS "(" [ <qualifier> "," ] '"'<text search expression> '"' ")"

      BNF grammar structure:: CONTAINS ( [ <qualifier> ,] <text search expression> )

      The <text search expression> parameter MUST be a character string literal in quotes...

      Also, text says "Within a word or phrase, each double quote must also be escaped by a preceding backslash "\". This is confusing. How does this interact with the escaping defined in 2.10.3, as a phrase must be delimited by <quote>, and the entire <text search expression> is in quotes. So what is this:

      CONTAINS( "word \"my \"phrase\" is \"what\"")

      This could be parsed in a few different ways (some of which are illegal) - it is not possible to tell what in the above is a word containing a quote or a phrase delimited with quotes and containing a quote. Or are you supposed to double-escape the quotes (and escapes) within a <phrase>, so you can parse the difference between which quotes are doing what function? As in:

      CONTAINS( "word \"my \\\"phrase\\\" is \\\"what\"")

        Attachments

          Activity

            People

            • Assignee:
              ethang Ethan Gur-esh
              Reporter:
              ryan.mcveigh Ryan McVeigh (Inactive)
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: