Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-826

Whitespace after "derived-from-or-self" is making ODL emit a warning

    XMLWordPrintable

Details

    • Bug
    • Status: Verified
    • Medium
    • Resolution: Done
    • 1.2.0
    • 2.0.0, 1.2.1
    • parser
    • None

    Description

      When an XPath expression has whitespace between "derived-from-or-self" and the following bracket, there is an error occurring during parsing:

      javax.xml.transform.TransformerException: Could not find function: derived-from-or-self
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.error(XPathParser.java:612)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.FunctionCall(XPathParser.java:1509)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.PrimaryExpr(XPathParser.java:1448)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.FilterExpr(XPathParser.java:1347)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.PathExpr(XPathParser.java:1280)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.UnionExpr(XPathParser.java:1238)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.UnaryExpr(XPathParser.java:1144)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.MultiplicativeExpr(XPathParser.java:1065)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.AdditiveExpr(XPathParser.java:1007)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.RelationalExpr(XPathParser.java:932)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.EqualityExpr(XPathParser.java:872)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.AndExpr(XPathParser.java:836)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.OrExpr(XPathParser.java:809)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.Expr(XPathParser.java:792)
      at com.sun.org.apache.xpath.internal.compiler.XPathParser.initXPath(XPathParser.java:131)
      at com.sun.org.apache.xpath.internal.XPath.<init>(XPath.java:180)
      at com.sun.org.apache.xpath.internal.XPath.<init>(XPath.java:268)
      at com.sun.org.apache.xpath.internal.jaxp.XPathImpl.compile(XPathImpl.java:392)
      at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils.parseXPath(Utils.java:133)
      at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.WhenStatementImpl$Definition.parseArgumentValue(WhenStatementImpl.java:44)
      at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.WhenStatementImpl$Definition.parseArgumentValue(WhenStatementImpl.java:35)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementDefinitionContext.parseArgumentValue(StatementDefinitionContext.java:44)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.SubstatementContext.<init>(SubstatementContext.java:91)

      This is because the YANG_XPATH_FUNCTIONS_PATTERN in the Utils class does not allow whitespace before the bracket.

      But if I look in the XPath Recommendation https://www.w3.org/TR/1999/REC-xpath-19991116/ it says at the end of section 1: "Whitespace can be freely used between tokens."

      So this is a bug to be fixed in ODL.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            rovarga Robert Varga
            verthezpw Peter Verthez
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: