Commit Graph

290 Commits

Author SHA1 Message Date
arseny.kapoulkine
09b5dfdcb0 Added xml_document::reset, added append/prepend/insert child overloads for elements (with explicit name)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@779 99668b35-9821-0410-8761-19e4c4f06640
2010-10-26 17:09:34 +00:00
arseny.kapoulkine
948cb037ae Added a workaround for GCC 4.2 bogus warning
git-svn-id: http://pugixml.googlecode.com/svn/trunk@778 99668b35-9821-0410-8761-19e4c4f06640
2010-10-22 20:05:54 +00:00
arseny.kapoulkine
f7e6723b63 XPath: Moved STL replacement algorithms to anonymous namespace
git-svn-id: http://pugixml.googlecode.com/svn/trunk@777 99668b35-9821-0410-8761-19e4c4f06640
2010-10-22 19:16:13 +00:00
arseny.kapoulkine
0e73657345 XPath: Minor refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@776 99668b35-9821-0410-8761-19e4c4f06640
2010-10-22 19:08:46 +00:00
arseny.kapoulkine
59c88d7236 XPath: Moved implementation details to anonymous namespace
git-svn-id: http://pugixml.googlecode.com/svn/trunk@775 99668b35-9821-0410-8761-19e4c4f06640
2010-10-22 19:02:47 +00:00
arseny.kapoulkine
a18385e1e0 If an element node has the only child, and it is of CDATA type, then the extra indentation is omitted (previously this behavior only held for PCDATA children)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@770 99668b35-9821-0410-8761-19e4c4f06640
2010-10-19 15:38:10 +00:00
arseny.kapoulkine@gmail.com
b979d4c2bd Added prepend_attribute, prepend_child and prepend_copy functions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@769 99668b35-9821-0410-8761-19e4c4f06640
2010-10-19 14:29:02 +00:00
arseny.kapoulkine
d8c19b201f Added xml_document::document_element function
git-svn-id: http://pugixml.googlecode.com/svn/trunk@768 99668b35-9821-0410-8761-19e4c4f06640
2010-10-18 18:27:13 +00:00
arseny.kapoulkine
498947c718 Fixed internal_object() const-correctness, added xml_node::hash_value and xml_attribute::hash_value functions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@767 99668b35-9821-0410-8761-19e4c4f06640
2010-10-18 16:59:31 +00:00
arseny.kapoulkine
b1bc4e4ed5 Updated site URL everywhere
git-svn-id: http://pugixml.googlecode.com/svn/trunk@766 99668b35-9821-0410-8761-19e4c4f06640
2010-10-14 17:35:19 +00:00
arseny.kapoulkine
a32b4392bb XPath: evaluate_string now guarantees zero-terminated result (unless the buffer size is zero)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@762 99668b35-9821-0410-8761-19e4c4f06640
2010-10-03 18:14:12 +00:00
arseny.kapoulkine
a6c756b8bc XPath: If exceptions are enabled, std::bad_alloc is thrown for all out of memory situation (instead of xpath_exception)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@759 99668b35-9821-0410-8761-19e4c4f06640
2010-10-03 14:27:52 +00:00
arseny.kapoulkine
605ab1b145 Added DOCTYPE node and parse_doctype flag (the node contains DOCTYPE value so that the document contents can be preserved)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@756 99668b35-9821-0410-8761-19e4c4f06640
2010-09-26 19:00:48 +00:00
arseny.kapoulkine
901f3b1f29 Fixed MinGW45 in C++0x mode
git-svn-id: http://pugixml.googlecode.com/svn/trunk@755 99668b35-9821-0410-8761-19e4c4f06640
2010-09-25 18:14:03 +00:00
arseny.kapoulkine
a590a69bda Minor UTF8 conversion refactoring, added as_utf8 and as_wide overloads with string arguments
git-svn-id: http://pugixml.googlecode.com/svn/trunk@749 99668b35-9821-0410-8761-19e4c4f06640
2010-09-22 19:05:31 +00:00
arseny.kapoulkine
452f9028b1 Removed document_order() function, added internal_object() accessor and exposed xml_node/xml_attribute constructor from internal object pointer (this makes implementing fast binding to scripting languages easier)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@747 99668b35-9821-0410-8761-19e4c4f06640
2010-09-22 18:28:54 +00:00
arseny.kapoulkine
70d88da727 Major header cleanup: removed redundant comments (single-line function/type descriptions are left for convenience), removed parse()/as_utf16(), removed deprecated function tests
git-svn-id: http://pugixml.googlecode.com/svn/trunk@746 99668b35-9821-0410-8761-19e4c4f06640
2010-09-21 19:30:03 +00:00
arseny.kapoulkine
41d1d91bc5 Minor load_file_impl refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@745 99668b35-9821-0410-8761-19e4c4f06640
2010-09-21 17:30:28 +00:00
arseny.kapoulkine
772d49eb4a Added large file support for MinGW
git-svn-id: http://pugixml.googlecode.com/svn/trunk@744 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 21:38:29 +00:00
arseny.kapoulkine
21b129a7e4 Improved large file support: added overflow checks, _ftelli64/_fseeki64 are used on MSVC
git-svn-id: http://pugixml.googlecode.com/svn/trunk@743 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 21:26:21 +00:00
arseny.kapoulkine
3fc3e60db4 Implemented load_file and save_file for wide character paths
git-svn-id: http://pugixml.googlecode.com/svn/trunk@741 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 20:14:16 +00:00
arseny.kapoulkine
612fa49d1d XPath: xpath_parse_result is now default-initialized to object with failed status
git-svn-id: http://pugixml.googlecode.com/svn/trunk@738 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 19:06:45 +00:00
arseny.kapoulkine
6dc6f8bdc7 xml_parse_result now has a default ctor, minor parsing optimization
git-svn-id: http://pugixml.googlecode.com/svn/trunk@736 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 18:14:02 +00:00
arseny.kapoulkine
7c837e78d5 Memory allocation error now preserves last parsed offset, minor optimization (removed by-reference parameters where possible)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@735 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 17:32:35 +00:00
arseny.kapoulkine
973b905f39 Added more assertions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@734 99668b35-9821-0410-8761-19e4c4f06640
2010-09-15 05:36:32 +00:00
arseny.kapoulkine
1a764a3ee2 XPath: evaluate_string refactoring (also fixes setjmp warning on MinGW without breaking DMC/SunCC)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@733 99668b35-9821-0410-8761-19e4c4f06640
2010-09-14 16:44:13 +00:00
arseny.kapoulkine
39ee42f907 XPath: Fixed MinGW compilation warning
git-svn-id: http://pugixml.googlecode.com/svn/trunk@732 99668b35-9821-0410-8761-19e4c4f06640
2010-09-14 07:12:57 +00:00
arseny.kapoulkine
9f1ae76452 XPath: Fixed MSVC6 compilation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@729 99668b35-9821-0410-8761-19e4c4f06640
2010-09-14 05:30:23 +00:00
arseny.kapoulkine
7b1560f4b2 XPath: Added out of memory handling during evaluation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@727 99668b35-9821-0410-8761-19e4c4f06640
2010-09-14 05:28:55 +00:00
arseny.kapoulkine
628197f8c8 XPath: Minor speed/memory improvements
git-svn-id: http://pugixml.googlecode.com/svn/trunk@726 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 20:34:53 +00:00
arseny.kapoulkine
0f7684b567 XPath: Stack construction refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@725 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 20:02:04 +00:00
arseny.kapoulkine
0b60037afc XPath: Fixed MSVC7 compilation, removed redundant include
git-svn-id: http://pugixml.googlecode.com/svn/trunk@724 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 19:01:11 +00:00
arseny.kapoulkine
000b421873 XPath: Added xpath_node_set constructor, redesigned evaluation memory management (alternating stacks instead of heap)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@722 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 18:37:51 +00:00
arseny.kapoulkine
e25b73936e XPath: Fixed sorting bug
git-svn-id: http://pugixml.googlecode.com/svn/trunk@720 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 18:13:33 +00:00
arseny.kapoulkine
9f68dec787 XPath: Allocator refactoring: xpath_allocator now only consists of allocator state and can be copied
git-svn-id: http://pugixml.googlecode.com/svn/trunk@719 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 07:53:53 +00:00
arseny.kapoulkine
1332949522 XPath: self axis now preserves the original set order, optimized remove_duplicates calls
git-svn-id: http://pugixml.googlecode.com/svn/trunk@718 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 05:07:04 +00:00
arseny.kapoulkine
030e9da0d4 XPath: Minor ast_step processing refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@717 99668b35-9821-0410-8761-19e4c4f06640
2010-09-12 20:50:17 +00:00
arseny.kapoulkine
cae6c066b7 XPath: Minor lang() fix (use ASCII lowercase because language names are ASCII-only anyway)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@716 99668b35-9821-0410-8761-19e4c4f06640
2010-09-11 13:30:49 +00:00
arseny.kapoulkine
b67f104498 XPath: Minor refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@715 99668b35-9821-0410-8761-19e4c4f06640
2010-09-01 17:08:48 +00:00
arseny.kapoulkine
42517f26a9 XPath: Don't use longjmp at all if exceptions are enabled; this solves all problems with GCC SJLJ exceptions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@714 99668b35-9821-0410-8761-19e4c4f06640
2010-09-01 17:01:55 +00:00
arseny.kapoulkine
bfbf61ba93 Added gcc 4.0.1 bogus warning workaround
git-svn-id: http://pugixml.googlecode.com/svn/trunk@710 99668b35-9821-0410-8761-19e4c4f06640
2010-08-30 05:17:21 +00:00
arseny.kapoulkine
fb0f5d8c94 XPath: Added a workaround for MSVC6 wcsstr bug
git-svn-id: http://pugixml.googlecode.com/svn/trunk@708 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 20:58:11 +00:00
arseny.kapoulkine
9266af0664 Fixed longjmp clobber warning in xml_parser::parse
git-svn-id: http://pugixml.googlecode.com/svn/trunk@706 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 19:29:35 +00:00
arseny.kapoulkine
61a94d6223 XPath: Fixed variable memory leaks for MSVC6
git-svn-id: http://pugixml.googlecode.com/svn/trunk@704 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 16:58:57 +00:00
arseny.kapoulkine
343653c916 Fixed BCC and MSVC6 compilation errors and warnings
git-svn-id: http://pugixml.googlecode.com/svn/trunk@703 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 16:28:38 +00:00
arseny.kapoulkine
589947da0b XPath: Minor xpath_string refactoring, minor xpath_string::append fix
git-svn-id: http://pugixml.googlecode.com/svn/trunk@701 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:54:18 +00:00
arseny.kapoulkine
88b4fbcff7 XPath: Fixed substring (3) implementation, optimized substring-after and substring for constant strings
git-svn-id: http://pugixml.googlecode.com/svn/trunk@699 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:53:05 +00:00
arseny.kapoulkine
b81027b00d XPath: Optimized concat (it's now O(n) instead of O(n^2) and there are less allocations)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@698 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:52:36 +00:00
arseny.kapoulkine
b33ac7477c XPath: Introduced optimized sort (quicksort with median of nine and recursion for smaller half, insertion sort for small chunks)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@697 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:52:06 +00:00
arseny.kapoulkine
b1939bd6f8 XPath: Document order comparator refactoring, document order is now a total order even for nodes from different documents
git-svn-id: http://pugixml.googlecode.com/svn/trunk@695 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:51:03 +00:00