Yorick Peterse
ad2e040f05
Handle lexing of input such as just "</".
...
Previously this would cause the lexer to go in an infinite loop in the "text"
state machine.
This fixes #37 .
2014-09-15 17:20:06 +02:00
Yorick Peterse
b06eadc812
XPath support for absolute paths without tests.
...
This allows Oga to parse and evaluate the XPath expression "/". This expression
can be used to select just the root node/document.
This fixes #35 .
2014-09-15 17:06:58 +02:00
Yorick Peterse
398aaf68bc
Return a correct list of available namespaces.
...
This ensures that inner namespaces take precedence over outer namespaces.
Fixes #40 .
2014-09-14 18:42:02 +02:00
Yorick Peterse
96b6ef320b
Merge pull request #39 from ttasanen/fix_uc_void_tags
...
Ignore casing when testing for html void elements
2014-09-14 14:34:16 +02:00
Tero Tasanen
3c930433c4
Change Hash syntax to be consistent with other tests
2014-09-14 15:04:15 +03:00
Tero Tasanen
d0f48e0e3c
Added a lexer test case for uppercase void elements
2014-09-14 14:20:58 +03:00
Tero Tasanen
9c8dd60f92
Fix test cases
...
- Remove duplicate tests
- use parse_html helper
2014-09-14 14:14:51 +03:00
Tero Tasanen
9f71b1ec7b
Ignore casing when testing for html void elements
...
Fixes #36
2014-09-14 12:02:02 +03:00
Yorick Peterse
5019e0362c
Added checksum for 0.1.1 on JRuby.
2014-09-14 03:47:54 +02:00
Yorick Peterse
7db6732f14
Use proper Gem names for checksums.
...
This ensures that it also works for JRuby and the likes.
2014-09-14 03:47:35 +02:00
Yorick Peterse
77bcf2f17b
Generate stuff before building.
...
Kinda obvious.
2014-09-14 03:45:33 +02:00
Yorick Peterse
ee538ddcc2
Merge pull request #34 from ttasanen/fix_comment
...
Fix function name in comment
2014-09-13 16:22:55 +02:00
Tero Tasanen
5979798356
Fix function name in comment
2014-09-13 16:22:06 +03:00
Yorick Peterse
d082822cdc
Removed the node_type method crap.
...
The logic this was used for now only resides in the pull parser, instead of
being exposed to the public.
This fixes #30 .
2014-09-13 15:09:52 +02:00
Yorick Peterse
9ab5c302f7
Release 0.1.1.
2014-09-13 11:50:30 +02:00
Yorick Peterse
b8a82b2094
Separate XML attributes by spaces.
...
This was originally reported by @jrochkind and partially patched by @billdueber.
My patches are built upon the latter, but without the need of using Array#map,
Array#join, etc. They also contain a few style changes.
This fixes #32 and #33 .
2014-09-13 11:47:06 +02:00
Yorick Peterse
dd47dd43a0
Example on querying XML namespaces.
2014-09-12 16:54:36 +02:00
Yorick Peterse
9d798ce7b9
Added XML namespaces to the features list.
2014-09-12 16:50:12 +02:00
Yorick Peterse
27d877ccce
Updated the Gem description.
2014-09-12 14:40:01 +02:00
Yorick Peterse
ddc6eb4819
Release 0.1.0.
2014-09-11 23:41:46 +02:00
Yorick Peterse
7a3655a43b
Updated README intro + thread-safety section.
2014-09-11 23:39:10 +02:00
Yorick Peterse
019ba8c660
Set the initial version to 0.1.0.
2014-09-11 14:11:24 +02:00
Yorick Peterse
319d622fa5
Include namespaces when converting attrs to XML.
2014-09-11 14:03:04 +02:00
Yorick Peterse
32a7abd8c2
Corrected line about what kind of parser I want.
2014-09-11 01:12:18 +02:00
Yorick Peterse
ad4850dfbd
Corrected the contributing YARD link.
2014-09-11 00:13:44 +02:00
Yorick Peterse
9406a8651e
Documentation chapter in the README.
2014-09-11 00:11:06 +02:00
Yorick Peterse
5ff7f39f08
Rake task for uploading documentation.
2014-09-11 00:10:58 +02:00
Yorick Peterse
0c61749c65
Added basic Nokogiri migration guide.
...
I will expand this over time, but it's a decent start for the time being.
This fixes #13 .
2014-09-11 00:01:44 +02:00
Yorick Peterse
c45d32a37e
Methods for adding attributes to elements.
...
The methods XML::Element#add_attribute and XML::Element#set can be used to more
easily add attributes to elements. The first method simply adds an Attribute
instance and links it to the element. This allows for fine grained control over
what data the attribute should contain. The second method ("set") simply sets an
attribute based on a name and value, optionally creating the attribute if it
doesn't already exist.
2014-09-10 23:55:29 +02:00
Yorick Peterse
6cb2d54875
Added XML::Element#inner_text=
...
This method can be used to more easily set the text of an element, without
having to manually muck around with XML::Text instances.
2014-09-10 23:25:39 +02:00
Yorick Peterse
cfbdf1bdb1
Removed YARD crap from Markdown files.
2014-09-10 22:46:58 +02:00
Yorick Peterse
98cd54685d
Updated the Rubies to run Travis on.
2014-09-10 22:17:04 +02:00
Yorick Peterse
6d19c9b311
Added XML::Element#get
...
This method can be used to directly retrieve an attribute value.
2014-09-10 19:03:32 +02:00
Yorick Peterse
e2dab952d0
Added XML::Node#before and XML::Node#after
...
These methods can be used to insert nodes before/after other nodes without
manually having to mess around with node sets.
This fixes #28 .
2014-09-09 22:48:31 +02:00
Yorick Peterse
e0f8965616
Rephrased parts of the README.
2014-09-09 21:04:50 +02:00
Yorick Peterse
fccc6359e1
Corrected YARD formatting.
2014-09-09 00:47:51 +02:00
Yorick Peterse
ef03a12f99
Optimize descendant-or-self and child axes.
...
By using NodeSet#concat we can further reduce the amount of object allocations.
This in turn greatly reduces the time it takes to query large documents using
descendant-or-self.
2014-09-05 20:20:13 +02:00
Yorick Peterse
9f6035e784
Reduce object allocations in on_axis_descendant
...
By using Traversal#each_node and _not_ calling on_test() (which was only called
for node_matches?) we can save ourselves a few object allocations.
2014-09-05 19:58:37 +02:00
Yorick Peterse
98984de540
Moved Document#each_node into a separate module.
...
This allows it to be re-used by XML::Node.
2014-09-05 19:42:38 +02:00
Yorick Peterse
8f562c24dd
Use NodeSet#concat for descendant-or-self.
...
In a sample XML file this removes around 3400 NodeSet allocations.
2014-09-05 10:56:49 +02:00
Yorick Peterse
bcdce306e5
Added NodeSet#concat.
...
This method allows two sets to be concatenated together without the need of
creating a 3rd node set (as is the case with NodeSet#+).
2014-09-05 10:07:22 +02:00
Yorick Peterse
8601cf6e74
Removed manifest from the Gemspec.
2014-09-04 14:02:56 +02:00
Yorick Peterse
1fdf876a93
Tweaked docs of the XPath code a bit.
2014-09-04 10:17:32 +02:00
Yorick Peterse
d8e2b97031
Tweaked docs of the XML parsers.
2014-09-04 09:34:59 +02:00
Yorick Peterse
89689d9bb6
Basic example for the pull parser.
2014-09-04 00:32:39 +02:00
Yorick Peterse
404ae51fd5
Added a basic set of examples on using Oga.
2014-09-04 00:24:13 +02:00
Yorick Peterse
6c90749ec6
Updated XPath node in the README.
2014-09-04 00:15:41 +02:00
Yorick Peterse
fbf3ae6e36
Manually increment XPath indexes.
...
This ensures that the index is only incremented for elements that match a node
test.
2014-09-03 23:56:13 +02:00
Yorick Peterse
81a62a6f00
Added XML::Attribute#text
...
This allows attributes to also be used for axes such as "=".
2014-09-03 23:38:00 +02:00
Yorick Peterse
9b8e9f49c6
Support for lexing empty attribute values.
...
This ensures that Oga can lex the following properly:
<input value="" />
Previously Ragel would stop upon finding the empty string. This was caused due
to the string rules being declared as following:
string_dquote = (dquote ^dquote+ dquote);
string_squote = (squote ^squote+ squote);
These rules only match strings _with_ content, not without. Since Ragel stops
consuming input the moment it finds unhandled data this resulted in incorrect
tokens being emitted.
2014-09-03 23:10:50 +02:00