Arseny Kapoulkine
f828eae3ea
Implement xml_node::attribute with a hint
...
Extra argument 'hint' is used to start the attribute lookup; if the attribute
is not found the lookup is restarted from the beginning of the attriubte list.
This allows to optimize attribute lookups if you need to get many attributes
from the node and can make assumptions about the likely ordering. The code is
correct regardless of the order, but it is faster than using vanilla lookups
if the order matches the calling order.
Fixes #30 .
2015-05-14 08:04:06 -07:00
Arseny Kapoulkine
83b894b8f1
XPath: Implement move semantics support
...
xpath_query, xpath_node_set and xpath_variable_set are now moveable.
This is a nice performance optimization for variable/node sets, and enables
storing xpath_query in containers without using pointers (it's only possible
now since the query is not copyable).
2015-04-21 19:42:31 -07:00
Arseny Kapoulkine
cbf3807ad4
Implement copy ctor/assignment for xpath_variable_set
...
xpath_variable_set is essentially an associative container; it's about time it
became copyable.
Implementation is slightly tricky due to out of memory handling. Both copy ctor
and assignment operator have strong exception guarantee (even if exceptions are
disabled! which translates to "roll back on allocation errors").
2015-04-15 23:22:31 -07:00
Arseny Kapoulkine
8c8940430a
Minor xpath_variable refactoring
...
The type of the variable is now initialized correctly in the ctor, so that there
is no interim invalid state.
2015-04-15 08:34:14 -07:00
Arseny Kapoulkine
5158ee903b
Fix xpath_node_set assignment to provide strong exception guarantee
...
Since the type of the set was updated before assignment, assigning in
out-of-memory condition could change the type to not match the content.
2015-04-14 19:23:36 -07:00
Arseny Kapoulkine
2a3435274f
Refactor format_indent_attributes implementation
...
Fix code style and revert redundant parameters/whitespace changes.
Also remove format_each_attribute_on_new_line - we're only introducing one
extra formatting flag. The flag implies format_indent but does not include its
bitmask.
Also add a few more tests.
Fixes #14 .
2015-04-13 21:49:08 -07:00
halex2005
6766f35338
add align each attribute on new line support with format_indent_attribute
2015-04-14 00:56:23 +05:00
Arseny Kapoulkine
28e63f66e1
Update year to 2015
2015-03-20 20:47:14 -07:00
Arseny Kapoulkine
e68048518e
Update version to 1.6
2015-03-18 21:20:40 -07:00
Arseny Kapoulkine
8e95f0d889
docs: Add missing float setters to reference
...
Also fix the float/double member order in the header file.
2015-01-16 21:43:57 -08:00
Arseny Kapoulkine
f07018f7e7
Convert spaces to tabs
2015-01-16 21:40:39 -08:00
Arseny Kapoulkine
550ab4b635
Merge pull request #27 from sdoiel61/master
...
Make float/double round-trip
This change also adds xml_text::set and xml_attribute::set_value overloads for float so that float is only printed using just enough digits to represent float, instead of enough digits to represent double.
2015-01-16 20:54:58 -08:00
Steve Doiel
53525a037b
Add a couple of more overloads for floats
2015-01-16 15:20:28 -08:00
Steve Doiel
4ae1940065
Fix attribute round trip for float as well
2015-01-16 14:55:10 -08:00
Arseny Kapoulkine
f3e42969a5
Simplify header-only mode usage
...
It's sufficient to define PUGIXML_HEADER_ONLY anywhere now, source is included
automatically.
This is a second attempt; this time it includes a workaround for QMake bug
that caused it to generate incorrect Makefile.
2015-01-09 23:22:57 -08:00
Steve Doiel
32f0a8bd3a
Add xml_text::set for float
...
Make float/double round-trip
2015-01-06 15:33:56 -08:00
Arseny Kapoulkine
b041e94f29
Update version to 1.5
2014-11-17 21:47:37 -08:00
Arseny Kapoulkine
e9956ae3a6
Rename xml_document::load to load_string
...
This should completely eliminate the confusion between load and load_file.
Of course, for compatibility reasons we have to preserve the old variant -
it will be deprecated in a future version and subsequently removed.
2014-11-17 19:52:23 -08:00
Arseny Kapoulkine
c3eb9c92a8
XPath: Rename xml_node::select_single_node to ::select_node
...
select_node is shorter and mistyping nodes as node or vice versa should
not lead to any issues since return types are substantially different.
select_single_node method still works and will be deprecated with an
attribute and removed at some point.
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1065 99668b35-9821-0410-8761-19e4c4f06640
2014-10-19 07:33:51 +00:00
Arseny Kapoulkine
f663558875
XPath: Introduce xpath_query::evaluate_node
...
This method is equivalent to xml_node::select_single_node. This makes
select_single_node faster in certain cases by avoiding an allocation and -
more importantly - paves the way for future step optimizations.
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1064 99668b35-9821-0410-8761-19e4c4f06640
2014-10-19 07:33:42 +00:00
Arseny Kapoulkine
c4ecc406d2
Reorganize xml_memory_page structure
...
The page no longer contains 'data' field to use sizeof everywhere instead
of offsetof/sizeof inconsistency (that is required because some compilers
don't recognize offsetof as compile-time constant).
The page no longer contains 'memory' field that is now encoded as an
offset byte before the page - this allows us to save one pointer from the
static page in the document to keep the size the same as in v1.2 (binary
compatibility).
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1046 99668b35-9821-0410-8761-19e4c4f06640
2014-10-03 05:18:03 +00:00
Arseny Kapoulkine
b3f4277082
Disable document_order optimization after move/append_buffer.
...
Moving nodes results in node order being different from order of allocated
names/values; since move is O(1) we can't mark the moved nodes in a
subtree so we have to disable the optimization for the entire document.
Similarly, if a node is composed of multiple buffers, comparing nodes in
different buffers does not result in meaningful order.
Since we value correctness over performance, mark the entire document in
these cases to disable sorting optimization.
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1034 99668b35-9821-0410-8761-19e4c4f06640
2014-10-01 07:03:06 +00:00
Arseny Kapoulkine
89d19df43d
Add header bit for 'name or value is shared' flag
...
This is required to make it possible to use a pointer to one of the
buffers with the document data in nodes but keep offset_debug and (more
importantly) XPath document order comparison optimization working.
The change increases memory page alignment to 64 bytes (so requires +32
bytes for every page allocation, which should not be a problem - even with
non-default 4k pages this is <1% extra cost, with default 32k pages the
overhead is 0.1%)
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1031 99668b35-9821-0410-8761-19e4c4f06640
2014-10-01 07:02:45 +00:00
Arseny Kapoulkine
a15efb2def
Implement node moving functions.
...
The operations itself are O(1) since they just rearrange pointers.
However, the validation step is O(logN) due to a sanity check to prevent recursive trees.
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1002 99668b35-9821-0410-8761-19e4c4f06640
2014-08-10 23:52:49 +00:00
Arseny Kapoulkine
6d43ad2870
Add xpath_node_set::iterator that is the same as const_iterator.
...
Exposing true mutable iterators allows the user to violate sorting order
contract. However, some generic algorithms (i.e. Boost ForEach) require
iterator methods to be present.
git-svn-id: https://pugixml.googlecode.com/svn/trunk@998 99668b35-9821-0410-8761-19e4c4f06640
2014-05-04 05:42:26 +00:00
Arseny Kapoulkine
cfd30d903d
Revert automatic support for header-only mode since it creates problems with qmake.
...
Qmake treats all files that are #include-d as header files, even if the #include is
guarded by an #ifdef. It looks like the only solution that allows for transparent
header-only support based on preprocessor define involves moving the actual source
into a separate header file and including this file in pugixml.cpp.
Let's not do it yet.
git-svn-id: https://pugixml.googlecode.com/svn/trunk@990 99668b35-9821-0410-8761-19e4c4f06640
2014-02-25 03:52:10 +00:00
Arseny Kapoulkine
0a747e6c1a
Add parse_trim_pcdata parse option.
...
git-svn-id: https://pugixml.googlecode.com/svn/trunk@987 99668b35-9821-0410-8761-19e4c4f06640
2014-02-25 03:41:54 +00:00
Arseny Kapoulkine
47c15ad949
Implement document fragment parsing.
...
Introduce a notable behavior change in default parsing mode: documents without a
document element node are now considered invalid. This is technically a breaking change,
however the amount of documents it affects is very small, all parsed data still persists,
and lack of this check results in very confusing behavior in a number of cases.
In order to be able to parse documents without an element node, a fragment parsing flag is
introduced.
Parsing a buffer in fragment mode treats the buffer as a fragment of a valid XML.
As a consequence, top-level PCDATA is added to the tree; additionally, there are no
restrictions on the number of nodes -- so documents without a document element are considered
valid.
Due to the way parsing works internally, load_buffer_inplace occasionally can not preserve
the document contents if it's parsed in a fragment mode. While unfortunate, this problem is
fundamental; since the use case is relatively obscure, hopefully documenting this shortcoming
will be enough.
git-svn-id: https://pugixml.googlecode.com/svn/trunk@980 99668b35-9821-0410-8761-19e4c4f06640
2014-02-11 06:45:27 +00:00
Arseny Kapoulkine
acf9dee0dd
Update PUGIXML_VERSION define
...
git-svn-id: https://pugixml.googlecode.com/svn/trunk@973 99668b35-9821-0410-8761-19e4c4f06640
2014-02-10 05:11:05 +00:00
Arseny Kapoulkine
0456f5deea
Update version to 1.4 and copyright year to 2014.
...
Add tentative changelog for 1.4 to the documentation.
Since Google Code no longer allows file upload, replace download links with GitHub release links.
git-svn-id: http://pugixml.googlecode.com/svn/trunk@968 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08 23:01:58 +00:00
Arseny Kapoulkine
2bd99cff86
Enable long long support for C++11 and for MSVC 2008+
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@967 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08 21:59:14 +00:00
Arseny Kapoulkine
6056ba2f89
Simplify header-only mode usage: it's sufficient to define PUGIXML_HEADER_ONLY anywhere now, source is automatically included
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@964 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08 20:44:20 +00:00
Arseny Kapoulkine
f9bbc39bd9
Implement long long support if PUGIXML_HAS_LONG_LONG is defined (autodetection is not implemented yet)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@962 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08 20:36:09 +00:00
Arseny Kapoulkine
0938714fa0
Change xml_named_node_iterator to be bidirectional and to match xml_node_iterator in terms of internals
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@960 99668b35-9821-0410-8761-19e4c4f06640
2014-01-27 03:54:05 +00:00
arseny.kapoulkine@gmail.com
888934dac6
Clarify value() behavior in header comments; hopefully that'll help with value vs child_value confusion.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@954 99668b35-9821-0410-8761-19e4c4f06640
2013-07-27 11:32:44 +00:00
arseny.kapoulkine@gmail.com
9b9a414ab6
Compatibility fixes (fixed warnings in gcc, msvc7, fixed errors in bcc, cw, msvc6)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@939 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07 06:35:53 +00:00
arseny.kapoulkine@gmail.com
456527b44a
Implement xml_node::append_buffer as a faster alternative to assembling documents from fragments (compared to parse & clone)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@936 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07 04:49:23 +00:00
arseny.kapoulkine@gmail.com
09f9ab079e
Adjust parsing so that it is possible to parse a document fragment into an existing subtree; can be used to implement append_buffer.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@922 99668b35-9821-0410-8761-19e4c4f06640
2012-10-31 04:47:17 +00:00
arseny.kapoulkine@gmail.com
ff715f672f
Add xml_object_range::iterator to work around Boost.ForEach errors without BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION feature (i.e. SunCC 12). Fixes issue 164.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@919 99668b35-9821-0410-8761-19e4c4f06640
2012-08-02 09:22:43 +00:00
arseny.kapoulkine@gmail.com
215ecbcff6
Add PUGIXML_CLASS to xml_named_node_iterator to make dllexport possible. Fixes issue 161.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@917 99668b35-9821-0410-8761-19e4c4f06640
2012-06-28 15:36:58 +00:00
arseny.kapoulkine@gmail.com
a9a537ad40
Iterator improvements: safety assertions in xml_named_node_iterator, const_cast workaround for BCC32 bug
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@915 99668b35-9821-0410-8761-19e4c4f06640
2012-05-02 15:38:09 +00:00
arseny.kapoulkine@gmail.com
bda8e935e9
Updated version number and copyright year everywhere
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@897 99668b35-9821-0410-8761-19e4c4f06640
2012-04-03 05:04:07 +00:00
arseny.kapoulkine@gmail.com
7d18b33292
Whitespace-only change: set noexpandtab & retab!
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@896 99668b35-9821-0410-8761-19e4c4f06640
2012-04-03 04:58:11 +00:00
arseny.kapoulkine@gmail.com
cb1d83d32a
Fixed xml_named_node_iterator category for MSVC6/7, IC8 and SunCC
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@895 99668b35-9821-0410-8761-19e4c4f06640
2012-04-03 04:47:14 +00:00
arseny.kapoulkine@gmail.com
40777b2ce1
Added xml_attribute::as_string and xml_text::as_string, added default value to all as_* member functions
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@893 99668b35-9821-0410-8761-19e4c4f06640
2012-04-03 04:44:36 +00:00
arseny.kapoulkine@gmail.com
951ff9d1a6
xml_object_range now supports Boost.ForEach
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@890 99668b35-9821-0410-8761-19e4c4f06640
2012-03-27 05:25:49 +00:00
arseny.kapoulkine@gmail.com
a10bb9d766
Introduced xml_named_node_iterator, introduced xml_node::children() and xml_node::attributes() for C++11 range-based for loop
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@889 99668b35-9821-0410-8761-19e4c4f06640
2012-03-27 05:23:24 +00:00
arseny.kapoulkine@gmail.com
343107b3de
Added format_save_file_text flag for opening the file in text mode
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@883 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 05:37:45 +00:00
arseny.kapoulkine@gmail.com
dae6d908e5
Const-correctness 'fixes' (it's impossible to be const-correct here so remove redundant member)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@879 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 03:57:12 +00:00
arseny.kapoulkine@gmail.com
5e33adbc68
Added xml_text::data() (for regular xml_node operations, i.e. remove_child)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@876 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 03:40:12 +00:00
arseny.kapoulkine@gmail.com
43fac19d81
Added xml_text &&/|| operators for Borland C++
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@874 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 03:24:44 +00:00
arseny.kapoulkine@gmail.com
48391dbe8c
Moved default value selection logic into get_value functions, added xml_node::text() accessor
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@873 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 03:08:38 +00:00
arseny.kapoulkine@gmail.com
096a6d0e9c
Implemented xml_text helper (work in progress)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@872 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 03:02:57 +00:00
arseny.kapoulkine@gmail.com
3a282e2f0b
STL forward declaration experiment failed; revert to using STL headers. Reasons: bugs in old compilers (i.e. SunCC, DMC, BCC require using the same names in forward declarations as in actual declarations), incompatibility between buggy compilers and different STL versions (i.e. SunCC has two STL versions with mismatching names), problems with C++0x inline namespaces (used in Clang libc++, see http://llvm.org/bugs/show_bug.cgi?id=5590 ), and this is an undefined behavior so other problems may come up.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@868 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20 06:19:31 +00:00
arseny.kapoulkine@gmail.com
e4ae729370
Dereferemce operators in both iterators are now const; this fixes iterator compatibility with parts of Boost Iterator (i.e. filter_iterator). It is now possible to damage the state of const_iterator by directly mutating internal handle - working around that introduces additional performance penalties and is generally extremely unlikely to be useful - constant iterator objects are rarely used.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@858 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 05:34:00 +00:00
arseny.kapoulkine@gmail.com
23f891a92b
Different versions of RWSTL have different headers; revert the previous change and instead introduce PUGIXML_NO_STL_FWDDECL macro (that disables forward declaration of STL classes, which is not compliant).
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@857 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 04:21:26 +00:00
arseny.kapoulkine@gmail.com
cf779955d9
Fixed SunCC compilation when using RWSTL instead of STLport; should fix issue 101.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@856 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 03:40:06 +00:00
arseny.kapoulkine@gmail.com
2f6baa1005
Implemented optional header-only mode (still need to do a couple of fixes for rare compilers, but it seems to work on the majority of configurations). Tests work in header-only mode, but testing is not enabled yet (still a bit more work to be done, and compiling header-only tests is up to 4 times slower, so we can't test more than one-two configurations per toolset)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@855 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 03:08:01 +00:00
arseny.kapoulkine
a0769dfe38
Introduced encoding_latin1 support (conversion on loading, conversion on saving, encoding name in declaration in document::save)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@829 99668b35-9821-0410-8761-19e4c4f06640
2011-12-20 09:45:10 +00:00
arseny.kapoulkine
aef822c27e
Added PUGIXML_VERSION define to enable preprocessor-based version checks in case compatibility workarounds are needed
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@827 99668b35-9821-0410-8761-19e4c4f06640
2011-12-09 06:48:46 +00:00
arseny.kapoulkine
1b87d3dcbf
Introduced parse_ws_pcdata_single flag: only parses whitespace-only PCDATA if it's the only child of the parent node (middle ground between default flags and parse_ws_pcdata)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@825 99668b35-9821-0410-8761-19e4c4f06640
2011-12-09 05:24:07 +00:00
arseny.kapoulkine
7757503d72
Added format_no_escapes flag
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@819 99668b35-9821-0410-8761-19e4c4f06640
2011-09-10 03:05:29 +00:00
arseny.kapoulkine
8a5144a927
Fixed unspecified bool conversion for MSVC CLR for the case when pugixml is compiled as unmanaged and calling code is compiled as managed. Fixes issue 121.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@817 99668b35-9821-0410-8761-19e4c4f06640
2011-08-19 04:25:13 +00:00
arseny.kapoulkine
9eae52a7cd
Improved STLport support (now code compiles fine if STLport is in its own namespace and does #define std), fixed AirPlay SDK compilation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@796 99668b35-9821-0410-8761-19e4c4f06640
2010-11-12 19:28:51 +00:00
arseny.kapoulkine
07043107c7
Updated version to 1.0 everywhere
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@789 99668b35-9821-0410-8761-19e4c4f06640
2010-10-31 07:44:14 +00:00
arseny.kapoulkine
4920e4fec9
Added xml_document::reset() function with document parameter
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@786 99668b35-9821-0410-8761-19e4c4f06640
2010-10-31 07:33:01 +00:00
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
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@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
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
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
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
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
70115fa9ab
Fixed missing attributes for some functions/classes, minor XPath error message changes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@694 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:50:28 +00:00
arseny.kapoulkine
c1bc7a30c3
Removed more deprecated functionality (xpath_type_t type, format_write_bom_utf8 flag, precompute_document_order method)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@686 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:44:41 +00:00
arseny.kapoulkine
f3795e55dd
Minor unspecified bool refactoring (removed redundant CW workaround)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@685 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:44:01 +00:00
arseny.kapoulkine
23d84cdf7c
XPath: Implemented variable support in queries
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@680 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:38:43 +00:00
arseny.kapoulkine
7b4141582d
XPath: Added variable interface and implementation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@676 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:35:22 +00:00
arseny.kapoulkine
1a59bf3992
XPath: Removed redundant internal function
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@674 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:33:40 +00:00
arseny.kapoulkine
fd6b419b2a
Removed deprecated wildcard functions, removed deprecated all_elements_by_name
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@669 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:31:03 +00:00
arseny.kapoulkine
f711006e80
XPath: xpath_node_set now uses custom allocation functions, minor refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@667 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:29:45 +00:00
arseny.kapoulkine
7554e20688
XPath: Context node for evaluate is now an xpath_node (can use attribute contexts)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@663 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:27:29 +00:00
arseny.kapoulkine
053a4c0ea7
XPath: Introduced new evaluate_string API (without STL), enabled XPath without STL
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@659 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:22:54 +00:00
arseny.kapoulkine
84ff2fbd5e
XPath: m_ prefix changed to _
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@644 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:12:27 +00:00
arseny.kapoulkine
849a5a081b
XPath: Initial support for operation without exceptions
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@636 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:04:27 +00:00
arseny.kapoulkine
a8e5f0ecf0
Removed some redundant code from pugixml.cpp, added internal xml_document::reset() function
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@630 99668b35-9821-0410-8761-19e4c4f06640
2010-08-05 04:52:07 +00:00
arseny.kapoulkine
f533923f1f
XPath: Fixed leaks in case query compilation failed
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@621 99668b35-9821-0410-8761-19e4c4f06640
2010-08-03 08:05:32 +00:00
arseny.kapoulkine
546a0f7561
xml_node::find_node is now not recursive
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@614 99668b35-9821-0410-8761-19e4c4f06640
2010-07-22 07:59:11 +00:00
arseny.kapoulkine
93bb5dcb43
XPath: Restored document order sorting optimization (it's now automatic for nodes that were loaded and not significantly altered), minor traversal optimizations
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@613 99668b35-9821-0410-8761-19e4c4f06640
2010-07-22 07:54:34 +00:00
arseny.kapoulkine
7d24b9b565
Set svn:eol-style to native for all text files
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@607 99668b35-9821-0410-8761-19e4c4f06640
2010-07-19 09:57:32 +00:00
arseny.kapoulkine
d130e82aaa
Changed version in headers
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@588 99668b35-9821-0410-8761-19e4c4f06640
2010-07-11 12:06:41 +00:00
arseny.kapoulkine
f4cb6eb737
XPath: Out-of-bounds xpath_node_set access is now undefined
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@581 99668b35-9821-0410-8761-19e4c4f06640
2010-07-10 15:48:34 +00:00