Yorick Peterse
efc3827865
Extended the inline JS lexer spec.
2014-09-03 09:26:12 +02:00
Yorick Peterse
145315c26a
Spec for inline JS and CDATA tags.
2014-09-03 00:34:10 +02:00
Yorick Peterse
f268af5bc6
Fixed token position in the inline JS spec.
2014-09-03 00:30:27 +02:00
Yorick Peterse
868df603ab
Added spec for inline JS + comments.
2014-09-03 00:26:45 +02:00
Yorick Peterse
07617a9c47
Failing spec for lexing inline Javascript.
2014-09-02 22:50:36 +02:00
Yorick Peterse
9649b50cc9
XML module for more easily querying using XPath.
2014-09-02 20:16:52 +02:00
Yorick Peterse
ad34ab47a0
Support for binding/evaluating XPath variables.
2014-09-02 19:04:02 +02:00
Yorick Peterse
5a0e8c5480
Lexing/parsing of XPath variable references.
2014-09-02 10:52:08 +02:00
Yorick Peterse
5de37bdf81
Support for the XPath ">=" operator.
2014-09-01 22:45:01 +02:00
Yorick Peterse
099227901a
Support for the XPath "<=" operator.
2014-09-01 22:40:50 +02:00
Yorick Peterse
6eacf74da4
Fixed comparing node equality in XPath expressions
...
Previously this would take the text of the entire node set, not of the first
node in the set.
2014-09-01 22:34:18 +02:00
Yorick Peterse
8884db8cb6
Support for the XPath ">" operator.
2014-09-01 22:23:35 +02:00
Yorick Peterse
6b45a03cb4
Support for the XPath "<" operator.
2014-09-01 22:20:32 +02:00
Yorick Peterse
e1d9e62b72
Support for the XPath "!=" operator.
2014-09-01 20:48:11 +02:00
Yorick Peterse
9e5f15787d
Support for the XPath "=" operator.
2014-09-01 18:57:12 +02:00
Yorick Peterse
1a6c0f0d35
Renamed various XPath operator specs.
2014-09-01 18:50:13 +02:00
Yorick Peterse
a70645fb89
Support for the XPath sub/- operator.
2014-08-29 09:41:17 +02:00
Yorick Peterse
89686b6cff
Support for the XPath mul/* operator.
2014-08-29 09:36:40 +02:00
Yorick Peterse
034b360d13
Support for the XPath "mod" operator.
2014-08-29 09:31:11 +02:00
Yorick Peterse
78c8cd1323
Support for the XPath "div" operator.
2014-08-28 23:05:12 +02:00
Yorick Peterse
ced7f739fc
Support for the XPath "add" / "+" operator.
2014-08-28 21:18:09 +02:00
Yorick Peterse
4fa40b58cf
Support for the XPath "or" operator.
2014-08-28 21:01:12 +02:00
Yorick Peterse
4f189d9218
Support for the XPath "and" operator.
2014-08-28 09:42:55 +02:00
Yorick Peterse
809ed9bfa6
Handle boolean values in the boolean() function.
2014-08-28 09:36:21 +02:00
Yorick Peterse
543112dcdc
Support for the XPath round() function.
2014-08-28 00:00:25 +02:00
Yorick Peterse
a2b8e3c954
Support for the XPath ceiling() function.
2014-08-27 23:56:43 +02:00
Yorick Peterse
c8fb1ad202
Support for the XPath floor() function.
2014-08-27 23:52:23 +02:00
Yorick Peterse
27d2b6c2c3
number() spec for converting empty strings.
2014-08-27 23:52:12 +02:00
Yorick Peterse
7c68f2a49b
Raise for non node sets in the sum() function.
...
According to the XPath spec this function *can only* take node sets, nothing
else. Lets actually enforce that.
2014-08-27 23:47:19 +02:00
Yorick Peterse
ac06670c24
Better conversion of types to numbers.
...
The XPath number() function should also be capable of converting booleans to
numbers, something it previously was not able to do. In order to do this
reliably we can't rely on the string() function as this would make it impossible
to distinguish between literal string values and booleans. This is due to
true(), which returns a TrueClass, being converted to the string "true". This
string in turn can't be converted to a float.
2014-08-27 23:38:47 +02:00
Yorick Peterse
fcb28d5ae8
Specs for various XPath evaluator helper methods.
2014-08-27 23:37:12 +02:00
Yorick Peterse
022d8e0ada
Extra test for sum() for default return values.
2014-08-27 23:07:38 +02:00
Yorick Peterse
30a5d01ebd
Support for the XPath sum() function.
2014-08-27 23:05:04 +02:00
Yorick Peterse
585b3535b2
Support for the XPath lang() function.
2014-08-27 20:26:27 +02:00
Yorick Peterse
7c41fa814f
Default attribute namespaces.
...
When an attribute is prefixed with "xml" the default namespace should be used
automatically. This namespace is not registered on element level by default as
this namespace isn't registered manually, instead it's a "magic" namespace. This
also ensures we match the behaviour of libxml more closely, hopefully reducing
confusion.
2014-08-27 20:24:40 +02:00
Yorick Peterse
d2f991538d
Support for the XPath true()/false() functions.
2014-08-27 09:37:28 +02:00
Yorick Peterse
4ef79bad90
Support for the XPath not() function.
2014-08-27 09:35:02 +02:00
Yorick Peterse
e288ab88f5
Support for the XPath boolean() function.
2014-08-26 20:22:28 +02:00
Yorick Peterse
564f8859a0
Better XPath evaluation tests for numbers.
2014-08-26 20:22:18 +02:00
Yorick Peterse
bcd138a15a
Lexing of explicit negative/positive XPath numbers
2014-08-26 20:21:30 +02:00
Yorick Peterse
8295fa5783
Support for the XPath translate() function.
2014-08-26 18:14:44 +02:00
Yorick Peterse
7f3f626744
Support for the XPath normalize-space() function.
2014-08-26 00:06:58 +02:00
Yorick Peterse
06bed1cfdd
Support for the XPath string-length() function.
2014-08-25 23:46:18 +02:00
Yorick Peterse
a60057db5c
Proper handling of decimals for string() calls.
...
When calling the string() XPath function floats with zero decimals (10.0, 5.0,
etc) should result in a string without any decimals. Ruby converts 10.0 to
"10.0" whereas XPath expects "10".
2014-08-25 23:21:36 +02:00
Yorick Peterse
6c0c5ab720
Revert "Return XPath integers as actual integers."
...
The particular case of string(10) having to return "10" instead of "10.0" will
be handled separately. Returning integers breaks behaviour/expectations
elsewhere.
This reverts commit 431a253000
.
2014-08-25 23:14:22 +02:00
Yorick Peterse
a1a2190fe2
Support for the XPath substring() function.
2014-08-25 23:13:34 +02:00
Yorick Peterse
5382891106
Support for the XPath number() function.
2014-08-25 23:13:03 +02:00
Yorick Peterse
b2ca18e127
Support for the XPath substring-after() function.
2014-08-25 22:19:13 +02:00
Yorick Peterse
b9cdb4a72b
Support for the XPath substring-before() function.
2014-08-25 22:11:05 +02:00
Yorick Peterse
83b873e3c1
Support for the XPath contains() function.
2014-08-25 21:52:33 +02:00