xee-xpath-ast 0.1.4

XPath parser and AST implementation
Documentation
---
source: xee-xpath-ast/src/parser/mod.rs
expression: "ast::ExprSingle::parse(\"every $x in (1, 2), $y in (3, 4) satisfies $x > 0 and $y > 0\")"
---
Ok(Quantified(QuantifiedExpr(
  quantifier: Every,
  var_name: OwnedName(
    local_name_str: "x",
    namespace_str: "",
    prefix_str: "",
  ),
  var_expr: Path(PathExpr(
    steps: [
      PrimaryExpr(Expr(Some(Expr([
        Path(PathExpr(
          steps: [
            PrimaryExpr(Literal(Integer((Positive, [
              1,
            ])))),
          ],
        )),
        Path(PathExpr(
          steps: [
            PrimaryExpr(Literal(Integer((Positive, [
              2,
            ])))),
          ],
        )),
      ])))),
    ],
  )),
  satisfies_expr: Quantified(QuantifiedExpr(
    quantifier: Every,
    var_name: OwnedName(
      local_name_str: "y",
      namespace_str: "",
      prefix_str: "",
    ),
    var_expr: Path(PathExpr(
      steps: [
        PrimaryExpr(Expr(Some(Expr([
          Path(PathExpr(
            steps: [
              PrimaryExpr(Literal(Integer((Positive, [
                3,
              ])))),
            ],
          )),
          Path(PathExpr(
            steps: [
              PrimaryExpr(Literal(Integer((Positive, [
                4,
              ])))),
            ],
          )),
        ])))),
      ],
    )),
    satisfies_expr: Path(PathExpr(
      steps: [
        PrimaryExpr(Expr(Some(Expr([
          Binary(BinaryExpr(
            operator: And,
            left: PathExpr(
              steps: [
                PrimaryExpr(Expr(Some(Expr([
                  Binary(BinaryExpr(
                    operator: GenGt,
                    left: PathExpr(
                      steps: [
                        PrimaryExpr(VarRef(OwnedName(
                          local_name_str: "x",
                          namespace_str: "",
                          prefix_str: "",
                        ))),
                      ],
                    ),
                    right: PathExpr(
                      steps: [
                        PrimaryExpr(Literal(Integer((Positive, [])))),
                      ],
                    ),
                  )),
                ])))),
              ],
            ),
            right: PathExpr(
              steps: [
                PrimaryExpr(Expr(Some(Expr([
                  Binary(BinaryExpr(
                    operator: GenGt,
                    left: PathExpr(
                      steps: [
                        PrimaryExpr(VarRef(OwnedName(
                          local_name_str: "y",
                          namespace_str: "",
                          prefix_str: "",
                        ))),
                      ],
                    ),
                    right: PathExpr(
                      steps: [
                        PrimaryExpr(Literal(Integer((Positive, [])))),
                      ],
                    ),
                  )),
                ])))),
              ],
            ),
          )),
        ])))),
      ],
    )),
  )),
)))