axing:axing.git
4 years agoAdding timing programs for axing and libxml2
Shaun McCance [Tue, 22 Jan 2013 19:56:11 +0000 (14:56 -0500)]
Adding timing programs for axing and libxml2

4 years agoaxing-stream: Added axing_stream_emit_event for performance
Shaun McCance [Tue, 22 Jan 2013 19:54:40 +0000 (14:54 -0500)]
axing-stream: Added axing_stream_emit_event for performance

This way stream implementations don't have to call emit_by_name.
This gives a small but noticeable performance boost.

4 years agoaxing-xml-parser: Handle XML 1.1 newlines
Shaun McCance [Tue, 22 Jan 2013 18:47:42 +0000 (13:47 -0500)]
axing-xml-parser: Handle XML 1.1 newlines

4 years agoaxing-xml-parser: Swithch from read_line to read_upto(" ")
Shaun McCance [Mon, 21 Jan 2013 16:17:24 +0000 (11:17 -0500)]
axing-xml-parser: Swithch from read_line to read_upto(" ")

There were a few problems with using read_line to get the chunks
of data to parse. There's no way to determine if the stream ends
with a newline, which causes conformance problems. Also, it was
difficult to track multi-char newline sequences when the chars
weren't in the same parse chunk.

This uncovered a bug in g_data_input_stream_read_upto_finish,
which I've worked around. (bugs.gnome.org #692101)

4 years agoaxing-xml-parser: Don't reject whitespace in epilog
Shaun McCance [Thu, 17 Jan 2013 18:22:07 +0000 (13:22 -0500)]
axing-xml-parser: Don't reject whitespace in epilog

4 years agoaxing-xml-parser: Error on recursive entity refs
Shaun McCance [Thu, 17 Jan 2013 16:51:11 +0000 (11:51 -0500)]
axing-xml-parser: Error on recursive entity refs

4 years agoaxing-xml-parser: Support parsing external entities
Shaun McCance [Thu, 17 Jan 2013 15:06:57 +0000 (10:06 -0500)]
axing-xml-parser: Support parsing external entities

4 years agoaxing-utils: Added RFC3986 URI relative path resolver
Shaun McCance [Mon, 14 Jan 2013 15:11:44 +0000 (10:11 -0500)]
axing-utils: Added RFC3986 URI relative path resolver

4 years agoaxing-xml-parser: Check for incomplete syntax in parse context
Shaun McCance [Tue, 8 Jan 2013 14:34:22 +0000 (09:34 -0500)]
axing-xml-parser: Check for incomplete syntax in parse context

4 years agoaxing-resource: Implement axing_resource_read_async
Shaun McCance [Mon, 7 Jan 2013 21:22:46 +0000 (16:22 -0500)]
axing-resource: Implement axing_resource_read_async

4 years agoaxing-xml-parser: parameter entities and axing_resource_read
Shaun McCance [Sun, 6 Jan 2013 20:49:56 +0000 (15:49 -0500)]
axing-xml-parser: parameter entities and axing_resource_read

An AxingResource must have either a GFile or a GInputStream,
or both. Rather than make code check for the input stream and
get one if NULL, provide a read method that does whatever it
needs to do to provide an input stream.

4 years agoaxing-xml-parser: Support PIs in doctype
Shaun McCance [Wed, 26 Dec 2012 18:48:38 +0000 (13:48 -0500)]
axing-xml-parser: Support PIs in doctype

4 years agoaxing-xml-parser: Actually clean up memory
Shaun McCance [Wed, 26 Dec 2012 04:32:57 +0000 (23:32 -0500)]
axing-xml-parser: Actually clean up memory

Parsers are now also able to be reused, but not concurrently.
The test programs now test for this.

4 years agotests: Added tests for entity refs in attribute vals
Shaun McCance [Sun, 23 Dec 2012 15:29:36 +0000 (10:29 -0500)]
tests: Added tests for entity refs in attribute vals

4 years agoaxing-xml-parser: Don't allow multiple root elements
Shaun McCance [Sat, 22 Dec 2012 15:12:31 +0000 (10:12 -0500)]
axing-xml-parser: Don't allow multiple root elements

I changed PARSER_STATE_ROOT to _PROLOG and _EPILOG to better
track this. Contexts that allow well-balanced fragments still
use PARSER_STATE_TEXT for init_state.

This commit also adds some tests files I forgot to add from
previous commits.

4 years agoaxing-xml-parser: Adding synchronous parsing
Shaun McCance [Sat, 22 Dec 2012 14:57:17 +0000 (09:57 -0500)]
axing-xml-parser: Adding synchronous parsing

4 years agoaxing-xml-parser: Parse processing instructions
Shaun McCance [Thu, 20 Dec 2012 15:10:00 +0000 (10:10 -0500)]
axing-xml-parser: Parse processing instructions

4 years agoaxing-xml-parser: Parse comments in DOCTYPE
Shaun McCance [Wed, 19 Dec 2012 19:19:20 +0000 (14:19 -0500)]
axing-xml-parser: Parse comments in DOCTYPE

4 years agoaxing-xml-parser: Track initial and previous state
Shaun McCance [Wed, 19 Dec 2012 19:10:52 +0000 (14:10 -0500)]
axing-xml-parser: Track initial and previous state

This ensures that comments return to the correct state (and
PIs once implemented), and that a final ending element returns
to the ROOT state if that was the initial context state.

4 years agoaxing-xml-parser: Stricter state checks for stream events
Shaun McCance [Mon, 17 Dec 2012 19:26:16 +0000 (14:26 -0500)]
axing-xml-parser: Stricter state checks for stream events

4 years agoaxing-xml-parser: Use XML_GET_NAME in more places
Shaun McCance [Mon, 17 Dec 2012 14:28:59 +0000 (09:28 -0500)]
axing-xml-parser: Use XML_GET_NAME in more places

4 years agoaxing-xml-parser: Drop cur_attrval in favor of cur_text
Shaun McCance [Mon, 17 Dec 2012 14:15:28 +0000 (09:15 -0500)]
axing-xml-parser: Drop cur_attrval in favor of cur_text

There's never an overlap, so I can use the same variable.
This removes some cruft from entity handling.

4 years agoaxing-xml-parser: Check well-balancedness in entities
Shaun McCance [Mon, 17 Dec 2012 04:30:40 +0000 (23:30 -0500)]
axing-xml-parser: Check well-balancedness in entities

4 years agoaxing-xml-parser: Include basename in error messages
Shaun McCance [Fri, 14 Dec 2012 19:50:33 +0000 (14:50 -0500)]
axing-xml-parser: Include basename in error messages

4 years agoaxing-xml-parser: Fix reffing on input streams and converters
Shaun McCance [Fri, 14 Dec 2012 02:25:40 +0000 (21:25 -0500)]
axing-xml-parser: Fix reffing on input streams and converters

4 years agoaxing-xml-parser: Support parsing internal general entities
Shaun McCance [Thu, 13 Dec 2012 23:01:29 +0000 (18:01 -0500)]
axing-xml-parser: Support parsing internal general entities

Also changed the test suite to use URI escaping instead of MD5
checksums. This makes it much easier for me to see what's wrong
when there's an error.

4 years agoaxing-dtd-schema: Beginnings of storing DOCTYPE info
Shaun McCance [Wed, 12 Dec 2012 21:45:27 +0000 (16:45 -0500)]
axing-dtd-schema: Beginnings of storing DOCTYPE info

4 years agoaxing-xml-parser: Starting to parse parts of DOCTYPE
Shaun McCance [Tue, 11 Dec 2012 16:57:25 +0000 (11:57 -0500)]
axing-xml-parser: Starting to parse parts of DOCTYPE

4 years agoaxing-xml-parser: Support for numeric and built-in ents
Shaun McCance [Tue, 4 Dec 2012 04:50:08 +0000 (23:50 -0500)]
axing-xml-parser: Support for numeric and built-in ents

4 years agoaxing-xml-parser: Fixed some xmlns handling
Shaun McCance [Thu, 25 Oct 2012 20:56:22 +0000 (16:56 -0400)]
axing-xml-parser: Fixed some xmlns handling

4 years agoaxing-xml-parser: Check for duplicate attr expanded names
Shaun McCance [Wed, 24 Oct 2012 03:46:58 +0000 (23:46 -0400)]
axing-xml-parser: Check for duplicate attr expanded names

4 years agoaxing-xml-parser: Don't return attr localname for everything
Shaun McCance [Wed, 24 Oct 2012 01:44:15 +0000 (21:44 -0400)]
axing-xml-parser: Don't return attr localname for everything

Oh copy-and-paste. You are my bestest and worstest friend.

Also added some xmlns tests.

4 years agoaxing-xml-parser: Basic support for attributes
Shaun McCance [Tue, 23 Oct 2012 19:10:48 +0000 (15:10 -0400)]
axing-xml-parser: Basic support for attributes

4 years agoAdding some regression tests
Shaun McCance [Mon, 22 Oct 2012 22:22:02 +0000 (18:22 -0400)]
Adding some regression tests

4 years agoaxing-xml-parser: Fix parser errors
Shaun McCance [Mon, 22 Oct 2012 22:19:46 +0000 (18:19 -0400)]
axing-xml-parser: Fix parser errors

Error when all elements aren't closed. Also fix various
tricky issues with blank lines and lines that end with
delimiters.

4 years agotest-axing-parser-async: Return error code
Shaun McCance [Mon, 22 Oct 2012 18:51:43 +0000 (14:51 -0400)]
test-axing-parser-async: Return error code

4 years agoaxing-xml-parser: Fix lost text nodes & prolog whitespace
Shaun McCance [Mon, 22 Oct 2012 13:34:45 +0000 (09:34 -0400)]
axing-xml-parser: Fix lost text nodes & prolog whitespace

4 years agoaxing-xml-parser: Fixed simple bug with empty tags
Shaun McCance [Sun, 21 Oct 2012 19:30:02 +0000 (15:30 -0400)]
axing-xml-parser: Fixed simple bug with empty tags

4 years agoaxing-xml-parser: Support CDATA
Shaun McCance [Sun, 21 Oct 2012 16:00:10 +0000 (12:00 -0400)]
axing-xml-parser: Support CDATA

4 years agoaxing-xml-parser: Support comments
Shaun McCance [Sun, 21 Oct 2012 05:03:50 +0000 (01:03 -0400)]
axing-xml-parser: Support comments

4 years agoaxing-xml-parser: Fix default namespace on elements
Shaun McCance [Sat, 20 Oct 2012 21:45:46 +0000 (17:45 -0400)]
axing-xml-parser: Fix default namespace on elements

4 years agoInitial commit
Shaun McCance [Sat, 20 Oct 2012 21:01:02 +0000 (17:01 -0400)]
Initial commit