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
934bddcfa6
Fix gap collapsing during PCDATA parsing for fragment mode.
...
git-svn-id: https://pugixml.googlecode.com/svn/trunk@985 99668b35-9821-0410-8761-19e4c4f06640
2014-02-23 19:28:27 +00:00
Arseny Kapoulkine
cb99aa5065
Fix compilation warning for toolsets where wchar_t == char.
...
git-svn-id: https://pugixml.googlecode.com/svn/trunk@983 99668b35-9821-0410-8761-19e4c4f06640
2014-02-12 04:38:57 +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
79fb68ac41
Use a null-terminated buffer for parsing as often as possible.
...
Parsing used to work on a non null-terminated buffer, inserting a fake null terminator to increase performance.
This makes it impossible to implement fragment parsing that preserves PCDATA contents (as witnessed by some
tests for boundary conditions that actually depended on this behavior).
Since almost all uses result in us allocating an internal buffer anyway, the new policy is to make sure all buffers
that are allocated by pugixml are null-terminated - the only exception now is external calls to load_buffer_inplace
that don't trigger encoding conversion.
git-svn-id: https://pugixml.googlecode.com/svn/trunk@977 99668b35-9821-0410-8761-19e4c4f06640
2014-02-10 16:57:04 +00:00
Arseny Kapoulkine
9d9fd0a71f
Rename parse to parse_tree and convert_buffer to convert_buffer_output to reduce overloading.
...
git-svn-id: https://pugixml.googlecode.com/svn/trunk@975 99668b35-9821-0410-8761-19e4c4f06640
2014-02-10 16:56:35 +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
8c1502e64f
Add PUGIXML_HAS_LONG_LONG to pugiconfig.hpp
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@965 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08 21:03:07 +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
c3550de72b
Ignore stream errors generated by a failing tellg() for non-seekable streams
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@961 99668b35-9821-0410-8761-19e4c4f06640
2014-01-27 04:06:35 +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
4d8974f1fd
Replace offsetof with sizeof since some compilers don't recognize offsetof as a compile-time constant expression
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@959 99668b35-9821-0410-8761-19e4c4f06640
2014-01-15 18:13:51 +00:00
Arseny Kapoulkine
7f6b062e9f
Implement automatic hexadecimal decoding for xml_attribute::as_int and xml_text::as_int. This is effectively a form of strtol with base 0, but without octal support.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@958 99668b35-9821-0410-8761-19e4c4f06640
2014-01-15 04:28:10 +00:00
arseny.kapoulkine@gmail.com
783af79264
Fix gcc-4.9 compilation warning when using -Wstrict-overflow
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@957 99668b35-9821-0410-8761-19e4c4f06640
2013-12-20 08:24:38 +00:00
arseny.kapoulkine@gmail.com
79109a8546
Fix gcc-4.8 compilation warning when using -Wstrict-overflow
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@956 99668b35-9821-0410-8761-19e4c4f06640
2013-11-26 04:34:41 +00:00
arseny.kapoulkine@gmail.com
48600c3a9d
Fix _root checking inconsistency in xml_document::destroy
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@955 99668b35-9821-0410-8761-19e4c4f06640
2013-08-02 02:43:13 +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
4e1add1a46
Fix invalid assertion in XPath: reallocation can result in allocating buffer of the same size due to pointer-sized alignment
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@946 99668b35-9821-0410-8761-19e4c4f06640
2013-03-20 02:44:05 +00:00
arseny.kapoulkine@gmail.com
33301e9f42
Fix XPath return type for contains() and string-length()
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@944 99668b35-9821-0410-8761-19e4c4f06640
2013-03-19 15:11:40 +00:00
arseny.kapoulkine@gmail.com
2e4f6c54a8
Work around clang static analysis false positives using extra assertions.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@943 99668b35-9821-0410-8761-19e4c4f06640
2012-12-08 04:06:37 +00:00
arseny.kapoulkine@gmail.com
389d1c2893
Only include wchar.h in PUGIXML_WCHAR_MODE; use a custom implementation of wcslen in case there is no wide character support.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@942 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07 08:11:23 +00:00
arseny.kapoulkine@gmail.com
30549910db
Fix uninitialized variable in case append_buffer fails with out of memory due to buffer copy allocation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@941 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07 06:56:31 +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
a3aa5d39b8
XPath stack optimization: Reduce convert_number_to_string stack usage by reducing mantissa_buffer size and filling resulting string on heap without an extra copy from stack.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@933 99668b35-9821-0410-8761-19e4c4f06640
2012-11-18 23:11:59 +00:00
arseny.kapoulkine@gmail.com
c95900e354
XPath: Fix BCC/DMC compilation (overloading workaround)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@932 99668b35-9821-0410-8761-19e4c4f06640
2012-11-18 01:14:33 +00:00
arseny.kapoulkine@gmail.com
4fe55906fa
XPath stack optimization: Rewrite part of the recursive descent parser to precedence climbing to reduce stack usage
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@931 99668b35-9821-0410-8761-19e4c4f06640
2012-11-18 01:11:50 +00:00
arseny.kapoulkine@gmail.com
ed30b95a42
XPath stack optimization: Reduce stack usage during parsing by sharing scratch buffer for variable/number parsing (we only need one per parser)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@928 99668b35-9821-0410-8761-19e4c4f06640
2012-11-17 21:52:02 +00:00
arseny.kapoulkine@gmail.com
971fd96764
Fix PUGIXML_MEMORY_* constants for header-only mode
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@927 99668b35-9821-0410-8761-19e4c4f06640
2012-11-17 04:55:24 +00:00
arseny.kapoulkine@gmail.com
43f3888dc1
Fix undefined pointer arithmetic for reverse() and unique() in case the range is empty (begin == end)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@926 99668b35-9821-0410-8761-19e4c4f06640
2012-11-08 16:01:23 +00:00
arseny.kapoulkine@gmail.com
973296bcb1
Minor refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@923 99668b35-9821-0410-8761-19e4c4f06640
2012-10-31 04:56:27 +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
2876af6773
Fix find_child_by_attribute assertion for attributes with null name/value.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@920 99668b35-9821-0410-8761-19e4c4f06640
2012-09-29 06:36:29 +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
b1a1eef0c8
Removed diag_push for SNC since the warning bug is not fixed even in the latest version
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@901 99668b35-9821-0410-8761-19e4c4f06640
2012-04-12 03:28:02 +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
62204df423
Write BOM as U+FEFF to buffered writer; this makes sure we don't have a very small unbuffered write with custom writer implementations
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@887 99668b35-9821-0410-8761-19e4c4f06640
2012-03-27 04:23:05 +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
046073830b
Fixed header-only compilation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@882 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 04:26:13 +00:00
arseny.kapoulkine@gmail.com
5f9656c8b9
xml_document::save_file now checks for file I/O errors, fixed compilation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@881 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 04:24:56 +00:00
arseny.kapoulkine@gmail.com
898b2cbabb
Extracted file saving into a separate function, fixed DMC compilation (set_value_buffer cast error)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@880 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 04:21: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
35c0c6aa5c
Fixed member shadowing warnings for gcc
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@878 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 03:51:00 +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
17bd46eee6
Extracted xml_attribute value setter/getter code to separate functions (for xml_text)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@871 99668b35-9821-0410-8761-19e4c4f06640
2012-03-23 02:37:18 +00:00
arseny.kapoulkine@gmail.com
2f3c31dcd3
Reverted accidental submit
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@870 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20 07:07:22 +00:00
arseny.kapoulkine@gmail.com
5e8e325d85
Fixed strict aliasing violation warning in output buffer conversion via union. Fixed BlackBerry NDK -O3 compilation in header-only wchar mode.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@869 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20 07:07:01 +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
4935e2356f
MinGW does not have _wfopen in strict ANSI mode (fixes mingw45 C++0x compilation)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@867 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20 06:16:01 +00:00
arseny.kapoulkine@gmail.com
40ed110136
Explicitly ignore fwrite result - nothing else can be done with the current writer interface, unfortunately
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@866 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20 05:47:55 +00:00
arseny.kapoulkine@gmail.com
07cda98d66
Fixed Borland C++ issues when compiling pugixml as header-only
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@864 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20 04:00:10 +00:00
arseny.kapoulkine@gmail.com
800288d351
Intel C++ 11 has the same warning pop bug... Disable warning popping on all Intel C++ versions. Fixes Intel C++ 11 compilation in PUGIXML_NO_STL mode.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@862 99668b35-9821-0410-8761-19e4c4f06640
2012-03-15 07:08:32 +00:00
arseny.kapoulkine@gmail.com
a58131c9dc
Added PUGIXML_MEMORY constants for tweaking memory behaviour; useful for embedded systems or for unusual cases (i.e. thousands of small documents in memory)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@860 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 06:04:50 +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@gmail.com
7df35dabd5
Fixed clang warning
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@854 99668b35-9821-0410-8761-19e4c4f06640
2012-03-10 09:29:47 +00:00
arseny.kapoulkine@gmail.com
eca76db49d
Fixed clang compilation warning
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@849 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 09:43:00 +00:00
arseny.kapoulkine@gmail.com
eea13e4d72
Fix 'cast increases required alignment of target type' warning for BlackBerry NDK in PUGIXML_WCHAR_MODE (wchar_t is 4 bytes)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@842 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 07:02:40 +00:00
arseny.kapoulkine@gmail.com
6e02258ef6
Fix 'cast increases required alignment of target type' warnings (some of them are fixed by handling different wchar_t sizes through overloading, others - by casting to void* since we know the alignment restrictions are not violated)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@838 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 06:12:39 +00:00
arseny.kapoulkine@gmail.com
cbf42c3c93
Removed setjmp from XML parsing; now pugixml does not require setjmp support (unless XPath is compiled in with PUGIXML_NO_EXCEPTIONS). Should improve compatibility with certain platforms (also makes pugixml clr:pure-compatible)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@837 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 04:23:21 +00:00
arseny.kapoulkine@gmail.com
be7bdafa45
Define uintptr_t for WinCE if necessary (thankfully all MSVC versions seem to define _UINTPTR_T_DEFINED appropriately)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@833 99668b35-9821-0410-8761-19e4c4f06640
2012-02-19 05:47:54 +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
5a312a8ea8
Apply patch that should fix Windows Mobile compilation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@828 99668b35-9821-0410-8761-19e4c4f06640
2011-12-09 07:22:46 +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
696a0ea588
Fixed 'conversion from pointer to same-sized integral type' warning for Intel C++ compiler in case anyone compiles with -Wp64
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@822 99668b35-9821-0410-8761-19e4c4f06640
2011-10-08 04:14:12 +00:00
arseny.kapoulkine
cf85e59f12
Fixed 'controlling expression is constant' warning for new versions of Intel C++ compiler
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@821 99668b35-9821-0410-8761-19e4c4f06640
2011-10-08 03:19:12 +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
414ad96d7a
Fixed compilation for gcc 4.2.1 (apparently not all gcc versions properly implement strict aliasing warning...)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@813 99668b35-9821-0410-8761-19e4c4f06640
2011-07-24 03:19:31 +00:00
arseny.kapoulkine
f3c29ef3d8
Implemented support for non-seekable streams
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@809 99668b35-9821-0410-8761-19e4c4f06640
2011-07-19 15:20:20 +00:00
arseny.kapoulkine
c21c682c4e
Fixed C++/CLI compilation error
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@806 99668b35-9821-0410-8761-19e4c4f06640
2011-02-16 20:00:36 +00:00
arseny.kapoulkine
81e4707fca
Replaced std::wstring with std::basic_string<wchar_t> (fixes Android compilation)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@803 99668b35-9821-0410-8761-19e4c4f06640
2011-01-15 10:56:18 +00:00
arseny.kapoulkine
d99745be21
Enabled many additional GCC warnings (most notably -Wshadow and -Wold-style-cast), fixed the code accordingly
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@800 99668b35-9821-0410-8761-19e4c4f06640
2010-12-19 10:16:37 +00:00
arseny.kapoulkine
8f1a304dbf
Fixed pugiconfig XPath-related comments
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@798 99668b35-9821-0410-8761-19e4c4f06640
2010-11-13 19:02:16 +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
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
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
012b712389
XPath: xpath_node attribute constructor now never constructs a non-attribute node
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@690 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:47:36 +00:00
arseny.kapoulkine
b75c5360f3
Minor refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@689 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:47:01 +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
e7b0e52068
XPath: Fixed default variable values, minor algorithm refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@684 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:43:28 +00:00
arseny.kapoulkine
59e034149f
XPath: Reworked variable reference parsing, '$ name' and '$foo:*' are now correctly rejected
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@682 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:40:38 +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
c66ffdf720
XPath: Several variable fixes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@678 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:37:03 +00:00
arseny.kapoulkine
1230502989
XPath: Minor refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@677 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:35:47 +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
86f9ea3c2c
Refactoring: Merged two chartype tables
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@672 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:32:52 +00:00
arseny.kapoulkine
0e6d53c9e5
Refactoring: merged includes/warnings sections, moved string utilities to anonymous namespace, shared chartype implementation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@671 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:32:24 +00:00
arseny.kapoulkine
9b337a176f
XPath: Moved implementation to pugixml.cpp
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@670 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:31:55 +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
f2509e0395
XPath: memory_block is now POD (no more offsetof warnings)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@666 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:28:59 +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
91777e5c17
XPath: Fixed evaluate_string for wchar mode
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@660 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:24:00 +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
0c5b9341bc
XPath: Minor xpath_string refactoring, replaced STL algorithms with equivalent implementations (sort is quadratic for now)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@658 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:21:58 +00:00
arseny.kapoulkine
1e57d99484
XPath: Replaced std::string with xpath_string, refactored normalize_space, namespace_uri and translate
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@657 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:21:23 +00:00
arseny.kapoulkine
a33c030d60
Fixed null pointer deallocation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@655 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:20:12 +00:00
arseny.kapoulkine
bc5901dd28
strcpy_insitu improvements: empty string forces deallocation, memory is reclaimed if waste is too great (small string is copied to the large buffer)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@654 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:19:22 +00:00
arseny.kapoulkine
9ec7db4c0c
Reduced allocation header for strings from 8/16 to 4 bytes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@653 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:18:22 +00:00
arseny.kapoulkine
1f74bf1edc
XPath: Correct out of memory handling for string to number conversion during parsing, added corresponding test
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@651 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:16:55 +00:00
arseny.kapoulkine
6a9d59e907
XPath: Final MinGW unwind workaround
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@650 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:16:02 +00:00
arseny.kapoulkine
3284cc2f1b
XPath: Number to string conversion uses ecvt_s under MSVC8+ (major speedup), minor conversion refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@649 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:15:21 +00:00
arseny.kapoulkine
6b4a375ec3
XPath: Allocator now uses custom allocation functions and has single static page, added out of memory handling during parsing
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@647 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:14:15 +00:00
arseny.kapoulkine
56334ccd95
Minor comment fix
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@646 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:13:28 +00:00
arseny.kapoulkine
a3d3798726
XPath: Minor refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@645 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:13:05 +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
d4d82366af
XPath: Added workaround for MinGW4.5 unwind crash by removing unwind information from longjmp stack
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@643 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:11:51 +00:00
arseny.kapoulkine
4662bc9e74
XPath: Minor parsing refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@641 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:10:08 +00:00
arseny.kapoulkine
9b6dc1a585
Added workarounds for all instances of DMC overfetch bug
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@640 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:09:34 +00:00
arseny.kapoulkine
608d5bbd79
XPath: Added error offset reporting
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@639 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:08:33 +00:00
arseny.kapoulkine
12607d6047
tests: Extended XPath tests
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@638 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:07:18 +00:00
arseny.kapoulkine
9292096c56
tests: Added support for XPath without exceptions
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@637 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:05:50 +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
c779ee05ce
Minor iterator refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@635 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:03:15 +00:00
arseny.kapoulkine
b88cf138f9
root and offset_debug are now O(1)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@634 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:02:32 +00:00
arseny.kapoulkine
a09d5c0b8e
Added null pointer assertion to load_buffer, refactored get_buffer_encoding
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@633 99668b35-9821-0410-8761-19e4c4f06640
2010-08-09 13:40:24 +00:00
arseny.kapoulkine
241b998fa3
XPath: Minor refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@631 99668b35-9821-0410-8761-19e4c4f06640
2010-08-05 04:53:56 +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
f8c18461e6
XPath: Removed redundant whitespace skipping
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@625 99668b35-9821-0410-8761-19e4c4f06640
2010-08-03 12:37:19 +00:00
arseny.kapoulkine
cab68ab328
XPath: Added a workaround for DMC bug
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@622 99668b35-9821-0410-8761-19e4c4f06640
2010-08-03 09:30:46 +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
64d98cdcfc
CDATA section is output as multiple sections if it contains ]]>
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@616 99668b35-9821-0410-8761-19e4c4f06640
2010-07-22 13:13:10 +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
04085a8875
Fixed stream loading memory leaks in the unlikely case streams have exception mask set, better stream error handling.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@610 99668b35-9821-0410-8761-19e4c4f06640
2010-07-22 05:09:25 +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
fc88f09ac1
Fixed alignment padding warning for Xbox 360
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@601 99668b35-9821-0410-8761-19e4c4f06640
2010-07-15 09:27:58 +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
052a8f2fe0
XPath: Capitalized all error messages
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@582 99668b35-9821-0410-8761-19e4c4f06640
2010-07-10 16:53:59 +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
arseny.kapoulkine
5811786ccd
remove_child and remove_attribute now return operation result
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@572 99668b35-9821-0410-8761-19e4c4f06640
2010-07-07 20:10:48 +00:00
arseny.kapoulkine
9adf67be3a
Fixed strequalrange so that it matches the description (this also fixes first_element_by_path prefix bug), added more first_element_by_path tests
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@570 99668b35-9821-0410-8761-19e4c4f06640
2010-07-07 17:10:51 +00:00
arseny.kapoulkine
e22d38a150
traverse() function is now foolproof against walkers that modify node handles
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@568 99668b35-9821-0410-8761-19e4c4f06640
2010-07-07 14:48:46 +00:00
arseny.kapoulkine
aac7a252bf
Iterator fixes: added assertions, fixed past-the-end iterator behavior wrt to iterator invalidation and comparisons
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@566 99668b35-9821-0410-8761-19e4c4f06640
2010-07-06 20:44:54 +00:00
arseny.kapoulkine
8e0c64401f
xml_node::all_elements_by_name is now deprecated
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@563 99668b35-9821-0410-8761-19e4c4f06640
2010-07-06 18:51:29 +00:00
arseny.kapoulkine
57564791a3
Minor traverse() refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@561 99668b35-9821-0410-8761-19e4c4f06640
2010-07-06 12:21:38 +00:00
arseny.kapoulkine
8f27f244d0
parse_wnorm_attribute is no longer deprecated (it's part of W3C recommendations, after all)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@557 99668b35-9821-0410-8761-19e4c4f06640
2010-07-01 18:01:12 +00:00
arseny.kapoulkine
8dc819a700
XPath: Argument parsing and position invariance refactoring, reduced AST node size, moved literal string->number conversion to compile time
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@549 99668b35-9821-0410-8761-19e4c4f06640
2010-06-28 06:47:08 +00:00
arseny.kapoulkine
819c54e3ae
Defined a deprecated xpath_type_t for compatibility
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@547 99668b35-9821-0410-8761-19e4c4f06640
2010-06-27 21:11:30 +00:00
arseny.kapoulkine
aeaa1da161
Renamed encoding_t to xml_encoding, renamed xpath_type_t to xpath_value_type
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@544 99668b35-9821-0410-8761-19e4c4f06640
2010-06-27 20:05:06 +00:00
arseny.kapoulkine
c7a8f498a7
Renamed name parameter in load_file/save_file to path
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@540 99668b35-9821-0410-8761-19e4c4f06640
2010-06-27 11:56:50 +00:00
arseny.kapoulkine
34cbe32773
Added null pointer assertions to as_utf8 and as_wide
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@531 99668b35-9821-0410-8761-19e4c4f06640
2010-06-23 17:06:42 +00:00
arseny.kapoulkine
b515d52061
Spelling fixes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@528 99668b35-9821-0410-8761-19e4c4f06640
2010-06-20 08:12:31 +00:00
arseny.kapoulkine
e618138b67
Fixed deprecation warnings for IntelC
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@527 99668b35-9821-0410-8761-19e4c4f06640
2010-06-19 18:30:24 +00:00
arseny.kapoulkine
0e84a0b5f4
Replaced _CRT_SECURE macros with #pragma to avoid warnings because of multiple macro definitions/forced includes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@526 99668b35-9821-0410-8761-19e4c4f06640
2010-06-19 18:08:18 +00:00
arseny.kapoulkine
44134f448d
Fixed SNC warnings
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@525 99668b35-9821-0410-8761-19e4c4f06640
2010-06-19 18:06:14 +00:00
arseny.kapoulkine
7b419ad9ec
Automatically disable XPath when either PUGIXML_NO_STL or PUGIXML_NO_EXCEPTIONS is defined
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@524 99668b35-9821-0410-8761-19e4c4f06640
2010-06-16 07:48:45 +00:00
arseny.kapoulkine
4394a588c2
XPath: Rewritten number->string conversion using CRT scientific format (much better XPath REC compliance)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@523 99668b35-9821-0410-8761-19e4c4f06640
2010-06-14 18:03:50 +00:00
arseny.kapoulkine
30fbb3e328
Fixed MSVC x64 warning
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@522 99668b35-9821-0410-8761-19e4c4f06640
2010-06-13 20:41:12 +00:00
arseny.kapoulkine
ab72b14d17
Internal XML parsing error handling is done via setjmp/longjmp, all allocation errors are now handled correctly (parser returns status_out_of_memory, modification functions return errors); added tests for some out of memory situations
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@520 99668b35-9821-0410-8761-19e4c4f06640
2010-06-13 19:24:20 +00:00
arseny.kapoulkine
ce94228629
Fixed IntelC warnings, removed unnecessary hack for BCC
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@518 99668b35-9821-0410-8761-19e4c4f06640
2010-06-12 11:09:47 +00:00
arseny.kapoulkine
a562014cc2
Declaration nodes improvements (they now automatically get name "xml", they can't be inserted as a non-document child, document saving prints declaration only if there is none present in the document)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@517 99668b35-9821-0410-8761-19e4c4f06640
2010-06-12 09:04:52 +00:00
arseny.kapoulkine
0ed895d79c
Refactored PI/declaration parsing, now non top-level declarations result in parsing errors
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@515 99668b35-9821-0410-8761-19e4c4f06640
2010-06-12 07:30:13 +00:00
arseny.kapoulkine
624b5702d7
Rewritten numeric character reference parsing (fixed &#; and &#x; parsing), added more character reference tests
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@512 99668b35-9821-0410-8761-19e4c4f06640
2010-06-11 20:39:57 +00:00
arseny.kapoulkine
141d26d3af
Minor refactoring (moved unicode utilities to anonymous namespace, moved decode functions to templated class to work around function instantiation bugs, removed optN_to_type)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@511 99668b35-9821-0410-8761-19e4c4f06640
2010-06-11 19:01:40 +00:00
arseny.kapoulkine
45a0392656
Replaced charN_t types with uintN_t (C++0x compatibility)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@504 99668b35-9821-0410-8761-19e4c4f06640
2010-06-06 19:06:15 +00:00
arseny.kapoulkine
9fa82b15f5
Optimized attribute parsing; behavior of parse_wconv changed, it now assumes that parse_eol is set
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@503 99668b35-9821-0410-8761-19e4c4f06640
2010-06-04 18:50:26 +00:00
arseny.kapoulkine
f9c7855143
Minor strcpy_insitu optimization for large strings, removed now redundant impl::strcpy
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@502 99668b35-9821-0410-8761-19e4c4f06640
2010-06-03 07:12:51 +00:00
arseny.kapoulkine
f8e9905339
Removed redundant function
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@491 99668b35-9821-0410-8761-19e4c4f06640
2010-06-01 06:39:55 +00:00
arseny.kapoulkine
a248138ced
Constant deprecation is disabled only on old IntelC, removed deprecation warnings with appropriate define instead of disabling warning via pragma
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@489 99668b35-9821-0410-8761-19e4c4f06640
2010-06-01 05:40:03 +00:00
arseny.kapoulkine
1f8ba5aa60
XPath: Added check for fpclassify presence before use
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@488 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 17:33:55 +00:00
arseny.kapoulkine
88bdad514c
XPath: Slightly optimized lexer
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@487 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 16:57:51 +00:00
arseny.kapoulkine
4c0e67ae92
XPath: Replaced backtracking with lookahead in absolute path parsing
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@485 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 16:53:13 +00:00
arseny.kapoulkine
18848ef589
Fixed DMC compilation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@484 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 16:12:16 +00:00
arseny.kapoulkine
a2433c90a2
XPath: Removed separate semantics checking pass, types are verified during parsing
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@482 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 11:45:03 +00:00
arseny.kapoulkine
f1bfe4cc64
Simplified fp specials handling in XPath (using common faster implementation for both MSVC and BCC)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@480 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 07:56:13 +00:00
arseny.kapoulkine
51bb70cdcf
Changed fp specials handling in XPath (using fpclassify/fpclass where possible, NaN generation is based on float QNaN, removed magic double constants/byte arrays)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@479 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 07:41:54 +00:00
arseny.kapoulkine
555a184f4f
Fixed XPath parsing (numbers of the form \d+\. are now parsed correctly, stray colon does not act as eof token)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@476 99668b35-9821-0410-8761-19e4c4f06640
2010-05-30 20:44:15 +00:00
arseny.kapoulkine
d582a3f374
Fixed node tests for attributes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@472 99668b35-9821-0410-8761-19e4c4f06640
2010-05-30 07:53:06 +00:00
arseny.kapoulkine
c436c32e6c
Fixed descendant-or-self axis for attributes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@468 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 22:52:40 +00:00
arseny.kapoulkine
1c567decca
Fixed following:: and preceding:: axes for attribute nodes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@466 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 20:11:36 +00:00
arseny.kapoulkine
d3419f2f4b
Added round_nearest_nzero explanation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@462 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 13:12:46 +00:00
arseny.kapoulkine
f262cbb6be
XPath round() is now fully compliant
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@461 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 13:11:32 +00:00
arseny.kapoulkine
c3f4423e98
Very minor XPath refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@459 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 09:02:33 +00:00
arseny.kapoulkine
7e94e0c5ef
Removed redundant template
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@457 99668b35-9821-0410-8761-19e4c4f06640
2010-05-26 05:17:13 +00:00
arseny.kapoulkine
cd9bc5fa83
Added support for Sun C++ compiler
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@452 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 21:46:07 +00:00
arseny.kapoulkine
75a0d2379a
Updated version, updated changelog, minor Doxygen fixes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@449 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 19:24:32 +00:00
arseny.kapoulkine
c88b4ca2c2
Internal charN_t types now use fixed size uintN_t types
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@448 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 17:27:29 +00:00
arseny.kapoulkine
6e2521830f
Optimized utf8 decoding
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@447 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 16:50:03 +00:00
arseny.kapoulkine
1046fe1f7b
Optimized utf8 -> wchar_t conversion, replaced assert with static assert
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@446 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 13:47:37 +00:00
arseny.kapoulkine
ece9147611
Changed memory management so that the document node lives inside document; this way a default-constructed document does not allocate any dynamic memory
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@445 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 07:55:44 +00:00
arseny.kapoulkine
4e05568c4d
Fixed BCC and MSVC6 compilation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@444 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 07:54:36 +00:00
arseny.kapoulkine
7c01cf8df3
Nodes/attributes with empty names now are printed as :anonymous
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@441 99668b35-9821-0410-8761-19e4c4f06640
2010-05-21 05:50:53 +00:00
arseny.kapoulkine
e31d977c80
Optimized debug mode parsing/saving by order of magnitude
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@440 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 22:15:23 +00:00
arseny.kapoulkine
4c7d82fa5b
More compare_eq/rel refactoring
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@439 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 22:11:19 +00:00
arseny.kapoulkine
ba1b2017db
as_* functions now all use strto*/wcsto* functions; this unifies the behavior and fixes large unsigned integer parsing in as_uint
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@438 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 20:35:49 +00:00
arseny.kapoulkine
1f5be930d0
Assume that all compilers (except Microsoft) have stdint.h
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@437 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 20:18:59 +00:00
arseny.kapoulkine
31c4cb2d8b
XPath refactoring (ast_filter/filter_posinv/predicates use the same function, removed greater* specializations for compare_rel, starts_with is used more extensively, const-correctness fixes)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@425 99668b35-9821-0410-8761-19e4c4f06640
2010-05-17 06:54:06 +00:00
arseny.kapoulkine
697a5de5db
Fixed GCC build
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@419 99668b35-9821-0410-8761-19e4c4f06640
2010-05-12 21:36:22 +00:00
arseny.kapoulkine
544a527abd
Fixed incorrect allocator pointer in pages during parsing
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@415 99668b35-9821-0410-8761-19e4c4f06640
2010-05-11 06:55:07 +00:00
arseny.kapoulkine
157f720e12
Various test compilation fixes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@414 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 21:36:05 +00:00
arseny.kapoulkine
7bda2cb529
Implemented better DOCTYPE parsing, added more DOCTYPE tests
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@409 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 19:15:44 +00:00
arseny.kapoulkine
a6dc5ff70b
Optimized memory consumption (removed last_child and last_attribute, sibling/attribute lists are now one-way cyclic)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@405 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 16:38:22 +00:00
arseny.kapoulkine
4a90b861d9
Minor allocation refactoring and optimization
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@404 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 14:58:28 +00:00
arseny.kapoulkine
9441757ef6
Internal iterator constructors are now private, added empty document test
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@403 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 13:31:38 +00:00
arseny.kapoulkine
14bda69d0d
Optimized xml_document::destroy
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@402 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 12:21:51 +00:00
arseny.kapoulkine
47c23efe62
Reworked DOM memory allocation scheme (name/value allocations use the same pages as node/attribute structures, pages are now deallocated when completely free)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@401 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 08:59:48 +00:00
arseny.kapoulkine
5ff56a6d68
Removed document order optimization (it helps on a tiny percentage of queries), XPath tests now compute their own order
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@400 99668b35-9821-0410-8761-19e4c4f06640
2010-05-09 20:37:49 +00:00
arseny.kapoulkine
464d0f4ff9
Added empty stream/buffer tests, fixed null buffer parsing in wchar_t mode
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@397 99668b35-9821-0410-8761-19e4c4f06640
2010-05-09 17:53:59 +00:00
arseny.kapoulkine
427714178e
Minor loading functions refactoring, fixed XPath append_node for MSVC10
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@395 99668b35-9821-0410-8761-19e4c4f06640
2010-05-09 17:25:35 +00:00
arseny.kapoulkine
3a9d992883
Removed std::string and contents_push from XPath parsing
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@393 99668b35-9821-0410-8761-19e4c4f06640
2010-05-09 10:20:17 +00:00
arseny.kapoulkine
664638059a
Minor coverage improvements
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@392 99668b35-9821-0410-8761-19e4c4f06640
2010-05-08 21:35:42 +00:00
arseny.kapoulkine
8b6be5c02e
Don't use global no-deprecate switch for newer GCC/MinGW, fixed warnings because of deprecation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@390 99668b35-9821-0410-8761-19e4c4f06640
2010-05-08 20:36:20 +00:00
arseny.kapoulkine
6706a3f8ba
Deprecated all wildcard functions and parse_wnorm_attribute
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@389 99668b35-9821-0410-8761-19e4c4f06640
2010-05-08 20:30:29 +00:00
arseny.kapoulkine
1172d9bc4a
Fixed tests in NO_STL mode and IntelC deprecated constant
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@388 99668b35-9821-0410-8761-19e4c4f06640
2010-05-08 17:32:01 +00:00
arseny.kapoulkine
981a445319
Implemented PUGIXML_DEPRECATED for GCC and MSVC7+
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@387 99668b35-9821-0410-8761-19e4c4f06640
2010-05-08 17:10:16 +00:00
arseny.kapoulkine
021574a484
Added 0.5-compatible interfaces for compatibility
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@386 99668b35-9821-0410-8761-19e4c4f06640
2010-05-08 16:44:04 +00:00
arseny.kapoulkine
18819327e9
Updated copyright year, updated changelog in documentation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@385 99668b35-9821-0410-8761-19e4c4f06640
2010-05-06 20:54:02 +00:00
arseny.kapoulkine
d217517975
Changed version number to 0.6, merged Unicode utilities to pugixml.cpp
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@384 99668b35-9821-0410-8761-19e4c4f06640
2010-05-06 20:39:14 +00:00
arseny.kapoulkine
f542c5ebb8
Integrated changes from unicode branch to trunk
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@383 99668b35-9821-0410-8761-19e4c4f06640
2010-05-06 20:28:36 +00:00
arseny.kapoulkine
efee7df3f4
Fixed invalid document contents when document parsing fails
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@282 99668b35-9821-0410-8761-19e4c4f06640
2010-04-21 06:48:32 +00:00
arseny.kapoulkine
a78e1ec91c
Replaced int with ptrdiff_t for offset_debug() and last parsed offset in xml_parse_result
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@248 99668b35-9821-0410-8761-19e4c4f06640
2010-02-08 11:52:45 +00:00
arseny.kapoulkine
f5bdc4b9dc
Added inline directive to ischartype in case automatic inlining is not enabled
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@247 99668b35-9821-0410-8761-19e4c4f06640
2010-02-06 12:02:24 +00:00
arseny.kapoulkine
88865fc911
XPath: Renamed character type-related functions/types to avoid conflict with pugixml ones (for header-only mode)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@244 99668b35-9821-0410-8761-19e4c4f06640
2010-02-02 20:57:39 +00:00
arseny.kapoulkine
933c092395
XPath: xpath_ast_node ctors now initialize all members (code analysis warnings fix)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@242 99668b35-9821-0410-8761-19e4c4f06640
2010-02-02 19:59:06 +00:00
arseny.kapoulkine
9429411e99
Renamed ERROR to THROW_ERROR to solve macro name conflicts
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@240 99668b35-9821-0410-8761-19e4c4f06640
2010-01-21 21:12:07 +00:00
arseny.kapoulkine
db550f5f80
Fixed several code analysis warnings
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@239 99668b35-9821-0410-8761-19e4c4f06640
2010-01-20 22:15:15 +00:00
arseny.kapoulkine
9731626489
XPath: Removed variable shadowing (fixes warnings in static analyzers)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@238 99668b35-9821-0410-8761-19e4c4f06640
2010-01-20 22:01:18 +00:00
arseny.kapoulkine
a3c386c4bd
More branch probability tuning
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@236 99668b35-9821-0410-8761-19e4c4f06640
2009-11-10 11:26:42 +00:00
arseny.kapoulkine
8a2b1b6e7a
Parsing optimization: removed some redundant checks, reordered branches by probability, extracted two unlikely code paths in separate functions, node construction tuning
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@235 99668b35-9821-0410-8761-19e4c4f06640
2009-11-10 09:26:40 +00:00
arseny.kapoulkine
3cf6af6428
docs: Minor documentation changes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@233 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 19:16:43 +00:00
arseny.kapoulkine
f0f7ac697b
XPath: Added xpath_query::return_type() function, fixed evaluate_node_set documentation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@232 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 19:05:05 +00:00
arseny.kapoulkine
c389916348
Updated header/footer comments - included MIT license text as per user request, removed old notes, updated version number
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@230 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 18:34:59 +00:00
arseny.kapoulkine
f5389e364a
XPath: Removed redundant code
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@227 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 15:56:33 +00:00
arseny.kapoulkine
0cac815b63
tests: More coverage tests
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@225 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 15:17:46 +00:00
arseny.kapoulkine
6783bf0c32
XPath: evaluate_node_set (and select_nodes/select_single_node) now throw exception if expression return type is not node set (instead of assertion)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@223 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 14:34:59 +00:00
arseny.kapoulkine
74737f97ba
XPath: Node set copy now preserves sorted flag (for performance and consistency), removed redundant m_using_storage internal flag
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@222 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 14:23:40 +00:00
arseny.kapoulkine
c8a8b30bdd
XPath: Fixed const-correctness, added boolean operators and operator! for Borland compilers, added operator[], minor other changes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@220 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 13:52:11 +00:00
arseny.kapoulkine
eaa078b76a
XPath: Fixed minor string to number conversion bug
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@219 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 13:01:56 +00:00
arseny.kapoulkine
b1f1de5a7a
XPath: Minor fix
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@218 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 12:34:00 +00:00
arseny.kapoulkine
4b2059d84d
XPath: Fixed minor root step bug - don't select empty nodes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@215 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 11:27:40 +00:00
arseny.kapoulkine
7defdcdd04
XPath: Fixed all_in_namespace node test
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@213 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 10:15:07 +00:00
arseny.kapoulkine
4ab1551932
XPath: Minor refactoring, fixed text()/etc. parsing bug (issue 33)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@211 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 09:33:56 +00:00
arseny.kapoulkine
19293d2558
XPath: Refactored tokenization/parsing to be more compliant
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@210 99668b35-9821-0410-8761-19e4c4f06640
2009-11-08 09:13:58 +00:00
arseny.kapoulkine
ec1133444f
XPath: Fixed namespace-uri so that namespace scope includes the namespace declaration owner tag itself
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@205 99668b35-9821-0410-8761-19e4c4f06640
2009-11-04 19:24:09 +00:00
arseny.kapoulkine
0092960c9e
XPath: Fixed following and preceding axes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@203 99668b35-9821-0410-8761-19e4c4f06640
2009-11-03 20:29:10 +00:00
arseny.kapoulkine
c0ce7ab70e
XPath: Fixed self axis
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@202 99668b35-9821-0410-8761-19e4c4f06640
2009-11-03 19:55:35 +00:00
arseny.kapoulkine
3bf16e10b4
XPath: Fixed alignment issues
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@198 99668b35-9821-0410-8761-19e4c4f06640
2009-10-31 08:30:52 +00:00
arseny.kapoulkine
3e8f9a6e2c
XPath: Fixed contains() for broken STL implementations
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@197 99668b35-9821-0410-8761-19e4c4f06640
2009-10-30 20:08:31 +00:00
arseny.kapoulkine
15a69d3510
Fixed compilation warning on gcc3.4 (should work ok on gcc4, working around it anyway)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@192 99668b35-9821-0410-8761-19e4c4f06640
2009-10-29 07:18:09 +00:00
arseny.kapoulkine
3f5ee885a5
Fixed MSVC6 compilation of template member functions
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@187 99668b35-9821-0410-8761-19e4c4f06640
2009-10-28 20:50:39 +00:00
arseny.kapoulkine
0815f85d7a
Fixed MSVC6 compilation error
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@184 99668b35-9821-0410-8761-19e4c4f06640
2009-10-28 20:07:43 +00:00
arseny.kapoulkine
3472d0272c
XPath: Fixed string-value evaluation for node set
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@180 99668b35-9821-0410-8761-19e4c4f06640
2009-10-27 21:57:39 +00:00
arseny.kapoulkine
3a9ba80368
XPath: Fixed concat() crash
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@178 99668b35-9821-0410-8761-19e4c4f06640
2009-10-27 20:16:30 +00:00
arseny.kapoulkine
1b0a27c7f4
XPath: Fixed lang() function
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@175 99668b35-9821-0410-8761-19e4c4f06640
2009-10-21 20:46:57 +00:00
arseny.kapoulkine
27ec5a0b37
XPath: Fixed empty string literals, don't add empty nodes/attributes in node sets (i.e. for self axis)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@172 99668b35-9821-0410-8761-19e4c4f06640
2009-10-21 20:37:25 +00:00
arseny.kapoulkine
aabb302d60
Fixed parsing of empty strings in rare cases for XPath
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@171 99668b35-9821-0410-8761-19e4c4f06640
2009-10-21 19:09:39 +00:00
arseny.kapoulkine
327096ae0d
Added memory allocation function getters (can't write generic function to parse with ownership transfer without them)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@164 99668b35-9821-0410-8761-19e4c4f06640
2009-10-20 21:36:02 +00:00
arseny.kapoulkine
a2249c1304
Removed dead code (UTF8 sequences of length 5 are considered broken, removed dead branch in PI parsing)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@161 99668b35-9821-0410-8761-19e4c4f06640
2009-10-20 20:25:13 +00:00
arseny.kapoulkine
5624befce1
Fixed node_pi and node_declaration copying
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@160 99668b35-9821-0410-8761-19e4c4f06640
2009-10-20 19:21:34 +00:00
arseny.kapoulkine
c43af7d3b2
Fixed documentation bug
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@155 99668b35-9821-0410-8761-19e4c4f06640
2009-10-20 17:40:56 +00:00
arseny.kapoulkine
e1013bfcd8
PCDATA is now output with trailing newline if format_raw is not set and PCDATA is not the only child
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@153 99668b35-9821-0410-8761-19e4c4f06640
2009-10-12 16:27:05 +00:00
arseny.kapoulkine
9c7d93817e
Fixed xml_node::remove_attribute in case of empty attribute as a parameter
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@151 99668b35-9821-0410-8761-19e4c4f06640
2009-10-12 10:34:49 +00:00
arseny.kapoulkine
50214146de
Const-correctness fix for print/save functions
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@149 99668b35-9821-0410-8761-19e4c4f06640
2009-10-11 10:24:37 +00:00
arseny.kapoulkine
f3ef88386c
traverse now sets depth to -1 for both begin() and end()
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@146 99668b35-9821-0410-8761-19e4c4f06640
2009-10-11 08:40:11 +00:00
arseny.kapoulkine
b50199492b
Fixed offset_debug for pi nodes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@144 99668b35-9821-0410-8761-19e4c4f06640
2009-10-11 07:47:43 +00:00
arseny.kapoulkine
78eddacef5
XPath: translate() function fixed
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@137 99668b35-9821-0410-8761-19e4c4f06640
2009-10-10 10:12:43 +00:00
arseny.kapoulkine
10b1a0c481
Changed header version
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@129 99668b35-9821-0410-8761-19e4c4f06640
2009-09-17 18:19:44 +00:00
arseny.kapoulkine
fcce7152ac
Fixed compilation warnings on BCC
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@128 99668b35-9821-0410-8761-19e4c4f06640
2009-09-17 18:14:05 +00:00
arseny.kapoulkine
01d8a24051
Added xml_attribute::set_value overloads
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@127 99668b35-9821-0410-8761-19e4c4f06640
2009-09-17 18:02:21 +00:00
arseny.kapoulkine
3a9e08becd
Fixed iterator functions and xml_node::print to work correctly with empty nodes, replaced empty() with direct _root/_attr check everywhere
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@126 99668b35-9821-0410-8761-19e4c4f06640
2009-08-31 14:11:23 +00:00
arseny.kapoulkine
bc98c9e585
Added optional PUGIXML_API, PUGIXML_CLASS and PUGIXML_FUNCTION defines to control class/function attributes (DLL export/import, calling conventions, etc.)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@125 99668b35-9821-0410-8761-19e4c4f06640
2009-08-31 13:40:20 +00:00
arseny.kapoulkine
530b0dec21
Fixed xml_node::all_elements_by_name include dependencies
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@124 99668b35-9821-0410-8761-19e4c4f06640
2009-08-31 12:32:21 +00:00
arseny.kapoulkine
7797d49ed6
XPath fixes (now it should fail to compile incorrect queries)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@123 99668b35-9821-0410-8761-19e4c4f06640
2009-08-31 12:28:20 +00:00
arseny.kapoulkine
0eb2da4686
Fix multithreaded XPath evaluation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@122 99668b35-9821-0410-8761-19e4c4f06640
2009-06-24 12:05:56 +00:00
arseny.kapoulkine
c95b553a81
Fixed destroying of attribute/node name/values (it now uses custom deallocation function, if any)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@121 99668b35-9821-0410-8761-19e4c4f06640
2009-04-10 10:06:47 +00:00
arseny.kapoulkine
1e37455c1b
Const-correctness fixes for find_child_by_attribute
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@120 99668b35-9821-0410-8761-19e4c4f06640
2009-03-29 06:37:39 +00:00
arseny.kapoulkine
9e3d8be0d0
Fixed compilation warning for gcc-4.3
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@119 99668b35-9821-0410-8761-19e4c4f06640
2009-03-04 22:11:06 +00:00
arseny.kapoulkine
e5bd53e319
Fixed compilation warning in case char type is signed
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@118 99668b35-9821-0410-8761-19e4c4f06640
2009-02-28 18:00:42 +00:00
arseny.kapoulkine
a3ef08eed7
Updated version (source, documentation)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@117 99668b35-9821-0410-8761-19e4c4f06640
2009-02-08 07:44:14 +00:00
arseny.kapoulkine
af27b0937b
Fixed bug in xml_buffer_writer::write
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@116 99668b35-9821-0410-8761-19e4c4f06640
2009-02-08 07:39:49 +00:00
arseny.kapoulkine
3579de9141
Fixed nostl mode
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@115 99668b35-9821-0410-8761-19e4c4f06640
2009-01-26 06:10:36 +00:00
arseny.kapoulkine
208a6b4ecc
Documentation updated
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@113 99668b35-9821-0410-8761-19e4c4f06640
2009-01-25 20:54:00 +00:00
arseny.kapoulkine
46da814b42
Added xml_node::print for stream to make migration easier
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@112 99668b35-9821-0410-8761-19e4c4f06640
2009-01-25 20:49:53 +00:00
arseny.kapoulkine
600c3814e9
Added proper parse errors with description, parsed offsets and stuff
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@111 99668b35-9821-0410-8761-19e4c4f06640
2009-01-25 20:40:10 +00:00
arseny.kapoulkine
0949bd80b6
Added invalidate_document_order, now detaching deleted nodes and setting name/value to 0 after deleting (less bugs/debugging confusion)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@110 99668b35-9821-0410-8761-19e4c4f06640
2009-01-19 11:21:49 +00:00
arseny.kapoulkine
bf160df125
XPath: Fixed document order comparator (wrong attributes comparison in case of added ones, buggy LCA determination)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@109 99668b35-9821-0410-8761-19e4c4f06640
2009-01-19 11:18:34 +00:00
arseny.kapoulkine
f57ab52894
Added offset_debug
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@108 99668b35-9821-0410-8761-19e4c4f06640
2009-01-18 11:44:57 +00:00
arseny.kapoulkine
9bc19368f2
Added find_child_by_attribute
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@107 99668b35-9821-0410-8761-19e4c4f06640
2009-01-18 11:18:35 +00:00
arseny.kapoulkine
355d0f0697
Implemented attribute and node copying
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@106 99668b35-9821-0410-8761-19e4c4f06640
2009-01-08 19:30:42 +00:00
arseny.kapoulkine
e305a07249
Custom memory management functions implemented
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@105 99668b35-9821-0410-8761-19e4c4f06640
2009-01-06 13:14:13 +00:00
arseny.kapoulkine
5054325378
Added node_declaration node type for <?xml nodes, added corresponding parse_declaration and format_no_declaration flags and parsing/saving/DOM functionality
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@104 99668b35-9821-0410-8761-19e4c4f06640
2009-01-06 12:20:22 +00:00
arseny.kapoulkine
c507d9b10e
Less header dependencies, some compilation fixes for Borland/Intel/MW compilers
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@103 99668b35-9821-0410-8761-19e4c4f06640
2009-01-06 00:02:42 +00:00
arseny.kapoulkine
5a2fa3fe50
Unsigned integer support for attributes (as_uint, operator=)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@101 99668b35-9821-0410-8761-19e4c4f06640
2009-01-05 22:47:35 +00:00
arseny.kapoulkine
245e26de92
Updated pugixml version
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@99 99668b35-9821-0410-8761-19e4c4f06640
2009-01-05 22:33:00 +00:00
arseny.kapoulkine
29e7b7bfd3
Node/document saving is now performed via new xml_writer interface, save_file now works without STL
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@97 99668b35-9821-0410-8761-19e4c4f06640
2009-01-05 22:16:46 +00:00
arseny.kapoulkine
e59c153d97
Compilation fix, renamed format_write_bom to format_write_bom_utf8
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@96 99668b35-9821-0410-8761-19e4c4f06640
2009-01-05 20:44:27 +00:00
arseny.kapoulkine
d2443e8948
Document saving improvements - no escaping is done for ' character or for symbols in second half of ASCII table; format_utf8 is therefore gone
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@95 99668b35-9821-0410-8761-19e4c4f06640
2009-01-05 20:23:14 +00:00
arseny.kapoulkine
3ba642468c
Removed std::min from XPath (macro problems, it was needed only once anyway)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@93 99668b35-9821-0410-8761-19e4c4f06640
2009-01-05 19:59:14 +00:00
arseny.kapoulkine
2c06637bf8
Merged 0.34 in trunk (revisions 69:84)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@85 99668b35-9821-0410-8761-19e4c4f06640
2007-10-31 17:46:35 +00:00
arseny.kapoulkine
faf69388f0
Fixed find_element
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@72 99668b35-9821-0410-8761-19e4c4f06640
2007-02-21 22:43:29 +00:00
arseny.kapoulkine
0a97bad660
Merged 0.3 in trunk
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@68 99668b35-9821-0410-8761-19e4c4f06640
2007-02-21 19:41:31 +00:00
arseny.kapoulkine
58be69c574
Removed comments (cppguru does not want them), refactored chartype_symbol parsing, documentation fixes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@28 99668b35-9821-0410-8761-19e4c4f06640
2007-01-08 16:24:53 +00:00
arseny.kapoulkine
9433bd5d62
Updated copyright notice, reworked internal parsing (completely different strategy for performing text conversions (EOL, etc.) - lazy gaps, reworked character classes)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@27 99668b35-9821-0410-8761-19e4c4f06640
2007-01-08 02:51:49 +00:00
arseny.kapoulkine
2777da9faa
Parsing flags refactoring (removed trim flags, eol flags merged together, escapes flags merged together, removed wnorm_pcdata flag, changed wnorm_attribute flag (it's space normalization + trimming now), fixed default flags, changed documentation accordingly
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@26 99668b35-9821-0410-8761-19e4c4f06640
2007-01-05 20:05:10 +00:00
arseny.kapoulkine
784235c5e6
STLPort warning fixed
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@25 99668b35-9821-0410-8761-19e4c4f06640
2006-12-27 15:34:16 +00:00
arseny.kapoulkine
fd1432df88
Fixed strconv_t (incorrect skipping of non-escape symbols)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@24 99668b35-9821-0410-8761-19e4c4f06640
2006-12-14 11:56:53 +00:00
arseny.kapoulkine
33c5406641
Fixed istream parsing (again)
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@23 99668b35-9821-0410-8761-19e4c4f06640
2006-12-13 20:38:38 +00:00
arseny.kapoulkine
5203fa2e22
Fixed istream loading
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@22 99668b35-9821-0410-8761-19e4c4f06640
2006-12-13 20:35:20 +00:00
arseny.kapoulkine
688bbe9290
More gcc fixes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@21 99668b35-9821-0410-8761-19e4c4f06640
2006-12-11 14:38:03 +00:00
arseny.kapoulkine
79769db47c
Now should compile on gcc without errors/warnings
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@20 99668b35-9821-0410-8761-19e4c4f06640
2006-12-11 14:00:37 +00:00
arseny.kapoulkine
9db5197f82
Default parsing mode now does not include parsing PI and comments.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@19 99668b35-9821-0410-8761-19e4c4f06640
2006-12-11 13:04:04 +00:00
arseny.kapoulkine
0d7e7a54f6
Fixed memory leak, correct behavior for several parse() on one parser
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@15 99668b35-9821-0410-8761-19e4c4f06640
2006-12-08 14:38:34 +00:00
arseny.kapoulkine
1ea53e16dd
More NO_STL fixes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@14 99668b35-9821-0410-8761-19e4c4f06640
2006-12-08 14:25:56 +00:00
arseny.kapoulkine
2164a1ddb5
Path and iterator fixes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@13 99668b35-9821-0410-8761-19e4c4f06640
2006-12-08 14:21:48 +00:00
arseny.kapoulkine
2fdfe430a2
PUGIXML_NO_STL mode, transfer_ownership ctor/parse function
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@12 99668b35-9821-0410-8761-19e4c4f06640
2006-12-08 14:18:07 +00:00
arseny.kapoulkine
89076ef2e5
Fixed comment for node_pcdata type
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@11 99668b35-9821-0410-8761-19e4c4f06640
2006-12-06 12:41:06 +00:00
arseny.kapoulkine
44a433ba0e
Added #include <istream>
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@10 99668b35-9821-0410-8761-19e4c4f06640
2006-11-22 09:13:01 +00:00
arseny.kapoulkine
6e12a6a274
Moved STL includes into header file
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@9 99668b35-9821-0410-8761-19e4c4f06640
2006-11-22 09:09:10 +00:00
arseny.kapoulkine
55a37382ff
Updated version number
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@6 99668b35-9821-0410-8761-19e4c4f06640
2006-11-06 19:03:54 +00:00
arseny.kapoulkine
965ca3b6ca
Name/email updated in source files.
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@5 99668b35-9821-0410-8761-19e4c4f06640
2006-11-06 19:02:21 +00:00
arseny.kapoulkine
9a5d7f62fd
Added child_value and child_value_w helpers, added more eol handling flags, optimized strconv_t, fixed warnings in MSVC (W4), some inner refactoring, fixed child_value for empty nodes
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@3 99668b35-9821-0410-8761-19e4c4f06640
2006-11-06 18:38:04 +00:00
arseny.kapoulkine
69cc3fcb3a
pugixml 0.1: sources and documentation
...
git-svn-id: http://pugixml.googlecode.com/svn/trunk@2 99668b35-9821-0410-8761-19e4c4f06640
2006-11-06 18:31:28 +00:00