xee-xpath-ast 0.1.4

XPath parser and AST implementation
Documentation
---
source: xee-xpath/src/ast/parse_ast.rs
expression: "parse_expr_single(\"every $x in (1, 2) satisfies $x > 0\")"
---
Spanned {
    value: Quantified(
        QuantifiedExpr {
            quantifier: Every,
            var_name: Name {
                name: "x",
                namespace: None,
            },
            var_expr: Spanned {
                value: Path(
                    PathExpr {
                        steps: [
                            Spanned {
                                value: PrimaryExpr(
                                    Spanned {
                                        value: Expr(
                                            Spanned {
                                                value: [
                                                    Spanned {
                                                        value: Path(
                                                            PathExpr {
                                                                steps: [
                                                                    Spanned {
                                                                        value: PrimaryExpr(
                                                                            Spanned {
                                                                                value: Expr(
                                                                                    Spanned {
                                                                                        value: [
                                                                                            Spanned {
                                                                                                value: Path(
                                                                                                    PathExpr {
                                                                                                        steps: [
                                                                                                            Spanned {
                                                                                                                value: PrimaryExpr(
                                                                                                                    Spanned {
                                                                                                                        value: Literal(
                                                                                                                            Integer(
                                                                                                                                "1",
                                                                                                                            ),
                                                                                                                        ),
                                                                                                                        span: SourceSpan {
                                                                                                                            offset: SourceOffset(
                                                                                                                                13,
                                                                                                                            ),
                                                                                                                            length: SourceOffset(
                                                                                                                                1,
                                                                                                                            ),
                                                                                                                        },
                                                                                                                    },
                                                                                                                ),
                                                                                                                span: SourceSpan {
                                                                                                                    offset: SourceOffset(
                                                                                                                        13,
                                                                                                                    ),
                                                                                                                    length: SourceOffset(
                                                                                                                        1,
                                                                                                                    ),
                                                                                                                },
                                                                                                            },
                                                                                                        ],
                                                                                                    },
                                                                                                ),
                                                                                                span: SourceSpan {
                                                                                                    offset: SourceOffset(
                                                                                                        13,
                                                                                                    ),
                                                                                                    length: SourceOffset(
                                                                                                        1,
                                                                                                    ),
                                                                                                },
                                                                                            },
                                                                                            Spanned {
                                                                                                value: Path(
                                                                                                    PathExpr {
                                                                                                        steps: [
                                                                                                            Spanned {
                                                                                                                value: PrimaryExpr(
                                                                                                                    Spanned {
                                                                                                                        value: Literal(
                                                                                                                            Integer(
                                                                                                                                "2",
                                                                                                                            ),
                                                                                                                        ),
                                                                                                                        span: SourceSpan {
                                                                                                                            offset: SourceOffset(
                                                                                                                                16,
                                                                                                                            ),
                                                                                                                            length: SourceOffset(
                                                                                                                                1,
                                                                                                                            ),
                                                                                                                        },
                                                                                                                    },
                                                                                                                ),
                                                                                                                span: SourceSpan {
                                                                                                                    offset: SourceOffset(
                                                                                                                        16,
                                                                                                                    ),
                                                                                                                    length: SourceOffset(
                                                                                                                        1,
                                                                                                                    ),
                                                                                                                },
                                                                                                            },
                                                                                                        ],
                                                                                                    },
                                                                                                ),
                                                                                                span: SourceSpan {
                                                                                                    offset: SourceOffset(
                                                                                                        16,
                                                                                                    ),
                                                                                                    length: SourceOffset(
                                                                                                        1,
                                                                                                    ),
                                                                                                },
                                                                                            },
                                                                                        ],
                                                                                        span: SourceSpan {
                                                                                            offset: SourceOffset(
                                                                                                13,
                                                                                            ),
                                                                                            length: SourceOffset(
                                                                                                4,
                                                                                            ),
                                                                                        },
                                                                                    },
                                                                                ),
                                                                                span: SourceSpan {
                                                                                    offset: SourceOffset(
                                                                                        13,
                                                                                    ),
                                                                                    length: SourceOffset(
                                                                                        4,
                                                                                    ),
                                                                                },
                                                                            },
                                                                        ),
                                                                        span: SourceSpan {
                                                                            offset: SourceOffset(
                                                                                13,
                                                                            ),
                                                                            length: SourceOffset(
                                                                                4,
                                                                            ),
                                                                        },
                                                                    },
                                                                ],
                                                            },
                                                        ),
                                                        span: SourceSpan {
                                                            offset: SourceOffset(
                                                                13,
                                                            ),
                                                            length: SourceOffset(
                                                                4,
                                                            ),
                                                        },
                                                    },
                                                ],
                                                span: SourceSpan {
                                                    offset: SourceOffset(
                                                        12,
                                                    ),
                                                    length: SourceOffset(
                                                        6,
                                                    ),
                                                },
                                            },
                                        ),
                                        span: SourceSpan {
                                            offset: SourceOffset(
                                                12,
                                            ),
                                            length: SourceOffset(
                                                6,
                                            ),
                                        },
                                    },
                                ),
                                span: SourceSpan {
                                    offset: SourceOffset(
                                        12,
                                    ),
                                    length: SourceOffset(
                                        6,
                                    ),
                                },
                            },
                        ],
                    },
                ),
                span: SourceSpan {
                    offset: SourceOffset(
                        12,
                    ),
                    length: SourceOffset(
                        7,
                    ),
                },
            },
            satisfies_expr: Spanned {
                value: Binary(
                    BinaryExpr {
                        operator: GenGt,
                        left: PathExpr {
                            steps: [
                                Spanned {
                                    value: PrimaryExpr(
                                        Spanned {
                                            value: VarRef(
                                                Name {
                                                    name: "x",
                                                    namespace: None,
                                                },
                                            ),
                                            span: SourceSpan {
                                                offset: SourceOffset(
                                                    29,
                                                ),
                                                length: SourceOffset(
                                                    2,
                                                ),
                                            },
                                        },
                                    ),
                                    span: SourceSpan {
                                        offset: SourceOffset(
                                            29,
                                        ),
                                        length: SourceOffset(
                                            2,
                                        ),
                                    },
                                },
                            ],
                        },
                        right: PathExpr {
                            steps: [
                                Spanned {
                                    value: PrimaryExpr(
                                        Spanned {
                                            value: Literal(
                                                Integer(
                                                    "0",
                                                ),
                                            ),
                                            span: SourceSpan {
                                                offset: SourceOffset(
                                                    34,
                                                ),
                                                length: SourceOffset(
                                                    1,
                                                ),
                                            },
                                        },
                                    ),
                                    span: SourceSpan {
                                        offset: SourceOffset(
                                            34,
                                        ),
                                        length: SourceOffset(
                                            1,
                                        ),
                                    },
                                },
                            ],
                        },
                    },
                ),
                span: SourceSpan {
                    offset: SourceOffset(
                        29,
                    ),
                    length: SourceOffset(
                        6,
                    ),
                },
            },
        },
    ),
    span: SourceSpan {
        offset: SourceOffset(
            0,
        ),
        length: SourceOffset(
            35,
        ),
    },
}