oilleelssq-wq/moonxslt/xpath does not have a README file
pub suberror EvaluationError {
Message(String)
}pub(all) enum ArithmeticOp {
Add
Subtract
Multiply
Divide
Modulo
}pub(all) enum Axis {
Ancestor
AncestorOrSelf
Attribute
Child
Descendant
DescendantOrSelf
Following
FollowingSibling
Namespace
Parent
Preceding
PrecedingSibling
Self
}pub(all) enum ComparisonOp {
Equal
NotEqual
Less
LessOrEqual
Greater
GreaterOrEqual
}pub struct EvalContext {
doc : Document
node : Int
position : Int
size : Int
variables : Array[(String, Value)]
namespaces : Array[(String, String)]
user_functions : Array[(String, (Array[Expr], EvalContext) -> Value raise EvaluationError)]
}fn EvalContext::with_function(self : EvalContext, name : String, function : (Array[Expr], EvalContext) -> Value raise EvaluationError) -> EvalContextfn EvalContext::with_namespaces(self : EvalContext, namespaces : Array[(String, String)]) -> EvalContextfn EvalContext::with_variables(self : EvalContext, variables : Array[(String, Value)]) -> EvalContextpub(all) enum Expr {
LocationPath(Bool, Array[Step])
Filter(Expr, Array[Expr])
Path(Expr, Array[Step])
Union(Expr, Expr)
Or(Expr, Expr)
And(Expr, Expr)
Comparison(ComparisonOp, Expr, Expr)
Arithmetic(ArithmeticOp, Expr, Expr)
Negate(Expr)
NumberLiteral(Double)
StringLiteral(String)
VariableReference(String)
FunctionCall(String, Array[Expr])
}pub(all) enum NodeTest {
NameTest(String, String)
TextTest
CommentTest
AnyNodeTest
ProcessingInstructionTest(String?)
}pub(all) struct ParseErrorInfo {
message : String
position : Int
}pub(all) enum TokenKind {
Name
Number
Literal
Slash
DoubleSlash
Dot
DotDot
At
LeftParen
RightParen
LeftBracket
RightBracket
Comma
ColonColon
Pipe
Plus
Minus
Star
Equal
NotEqual
Less
LessOrEqual
Greater
GreaterOrEqual
Dollar
Eof
}fn format_number(value : Double) -> Stringfn nan() -> Doublefn parse_number(text : String) -> DoubleInstall
Download zipA pure MoonBit XSLT 1.0 processor with its own XML parser and XPath 1.0 engine.