diff --git a/docs/_example_1.html b/docs/_example_1.html index 29362d6..17322ad 100644 --- a/docs/_example_1.html +++ b/docs/_example_1.html @@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/_example_2.html b/docs/_example_2.html
index e4fe6c6..e5c0dd4 100644
--- a/docs/_example_2.html
+++ b/docs/_example_2.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/_example_3.html b/docs/_example_3.html
index 34551d3..31bb54b 100644
--- a/docs/_example_3.html
+++ b/docs/_example_3.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/_example_4.html b/docs/_example_4.html
index ad871b9..e5c1c07 100644
--- a/docs/_example_4.html
+++ b/docs/_example_4.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/annotated.html b/docs/annotated.html
index 795cea1..ac85843 100644
--- a/docs/annotated.html
+++ b/docs/annotated.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classes.html b/docs/classes.html
index e7d20bc..efaf47a 100644
--- a/docs/classes.html
+++ b/docs/classes.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_attribute-members.html b/docs/classtinyxml2_1_1_x_m_l_attribute-members.html
index e25e284..8a9acc3 100644
--- a/docs/classtinyxml2_1_1_x_m_l_attribute-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_attribute-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_attribute.html b/docs/classtinyxml2_1_1_x_m_l_attribute.html
index 2e82a10..b3e4f15 100644
--- a/docs/classtinyxml2_1_1_x_m_l_attribute.html
+++ b/docs/classtinyxml2_1_1_x_m_l_attribute.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_comment-members.html b/docs/classtinyxml2_1_1_x_m_l_comment-members.html
index e4e8d8a..404cd26 100644
--- a/docs/classtinyxml2_1_1_x_m_l_comment-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_comment-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_comment.html b/docs/classtinyxml2_1_1_x_m_l_comment.html
index 1c60c12..669db46 100644
--- a/docs/classtinyxml2_1_1_x_m_l_comment.html
+++ b/docs/classtinyxml2_1_1_x_m_l_comment.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_const_handle-members.html b/docs/classtinyxml2_1_1_x_m_l_const_handle-members.html
index 7f02f67..50c3c53 100644
--- a/docs/classtinyxml2_1_1_x_m_l_const_handle-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_const_handle-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_const_handle.html b/docs/classtinyxml2_1_1_x_m_l_const_handle.html
index 4f5b6c5..031e256 100644
--- a/docs/classtinyxml2_1_1_x_m_l_const_handle.html
+++ b/docs/classtinyxml2_1_1_x_m_l_const_handle.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_declaration-members.html b/docs/classtinyxml2_1_1_x_m_l_declaration-members.html
index 416c830..2a4e776 100644
--- a/docs/classtinyxml2_1_1_x_m_l_declaration-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_declaration-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_declaration.html b/docs/classtinyxml2_1_1_x_m_l_declaration.html
index a3e5d66..f50306b 100644
--- a/docs/classtinyxml2_1_1_x_m_l_declaration.html
+++ b/docs/classtinyxml2_1_1_x_m_l_declaration.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_document-members.html b/docs/classtinyxml2_1_1_x_m_l_document-members.html
index e3d048d..ffac062 100644
--- a/docs/classtinyxml2_1_1_x_m_l_document-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_document-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_document.html b/docs/classtinyxml2_1_1_x_m_l_document.html
index 61d46e1..c3e43c4 100644
--- a/docs/classtinyxml2_1_1_x_m_l_document.html
+++ b/docs/classtinyxml2_1_1_x_m_l_document.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_element-members.html b/docs/classtinyxml2_1_1_x_m_l_element-members.html
index 251fbf7..b70b08b 100644
--- a/docs/classtinyxml2_1_1_x_m_l_element-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_element-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_element.html b/docs/classtinyxml2_1_1_x_m_l_element.html
index 1b4af4e..4d1d9c2 100644
--- a/docs/classtinyxml2_1_1_x_m_l_element.html
+++ b/docs/classtinyxml2_1_1_x_m_l_element.html
@@ -22,7 +22,7 @@
| int tinyxml2::XMLElement::QueryAttribute | +XMLError tinyxml2::XMLElement::QueryAttribute | ( | const char * | name, | @@ -531,7 +535,7 @@ const char* xmlcstr = printer.CStr();
Given an attribute name, QueryAttribute() returns XML_SUCCESS, XML_WRONG_ATTRIBUTE_TYPE if the conversion can't be performed, or XML_NO_ATTRIBUTE if the attribute doesn't exist. It is overloaded for the primitive types, and is a generally more convenient replacement of QueryIntAttribute() and related functions.
+Given an attribute name, QueryAttribute() returns XML_SUCCESS, XML_WRONG_ATTRIBUTE_TYPE if the conversion can't be performed, or XML_NO_ATTRIBUTE if the attribute doesn't exist. It is overloaded for the primitive types, and is a generally more convenient replacement of QueryIntAttribute() and related functions.
If successful, the result of the conversion will be written to 'value'. If not successful, nothing will be written to 'value'. This allows you to provide default value:
int value = 10; QueryAttribute( "foo", &value ); // if "foo" isn't found, value will still be 10 @@ -700,7 +704,7 @@ QueryIntAttribute( "foo", &value ); // if "foo" isn't found, value will
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_handle-members.html b/docs/classtinyxml2_1_1_x_m_l_handle-members.html
index ee29d71..6b952a5 100644
--- a/docs/classtinyxml2_1_1_x_m_l_handle-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_handle-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_handle.html b/docs/classtinyxml2_1_1_x_m_l_handle.html
index c97e671..6a5cc42 100644
--- a/docs/classtinyxml2_1_1_x_m_l_handle.html
+++ b/docs/classtinyxml2_1_1_x_m_l_handle.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_node-members.html b/docs/classtinyxml2_1_1_x_m_l_node-members.html
index b50e248..aa89862 100644
--- a/docs/classtinyxml2_1_1_x_m_l_node-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_node-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_node.html b/docs/classtinyxml2_1_1_x_m_l_node.html
index 7ef3181..185b4ad 100644
--- a/docs/classtinyxml2_1_1_x_m_l_node.html
+++ b/docs/classtinyxml2_1_1_x_m_l_node.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_printer-members.html b/docs/classtinyxml2_1_1_x_m_l_printer-members.html
index cad8dc2..bbf8420 100644
--- a/docs/classtinyxml2_1_1_x_m_l_printer-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_printer-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_printer.html b/docs/classtinyxml2_1_1_x_m_l_printer.html
index 76237b2..c71df85 100644
--- a/docs/classtinyxml2_1_1_x_m_l_printer.html
+++ b/docs/classtinyxml2_1_1_x_m_l_printer.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_text-members.html b/docs/classtinyxml2_1_1_x_m_l_text-members.html
index ce0f317..f3b5dd2 100644
--- a/docs/classtinyxml2_1_1_x_m_l_text-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_text-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_text.html b/docs/classtinyxml2_1_1_x_m_l_text.html
index 0a3b095..7218f3f 100644
--- a/docs/classtinyxml2_1_1_x_m_l_text.html
+++ b/docs/classtinyxml2_1_1_x_m_l_text.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_unknown-members.html b/docs/classtinyxml2_1_1_x_m_l_unknown-members.html
index e00b2e4..f4f1fe4 100644
--- a/docs/classtinyxml2_1_1_x_m_l_unknown-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_unknown-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_unknown.html b/docs/classtinyxml2_1_1_x_m_l_unknown.html
index 52235fc..e875a51 100644
--- a/docs/classtinyxml2_1_1_x_m_l_unknown.html
+++ b/docs/classtinyxml2_1_1_x_m_l_unknown.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_visitor-members.html b/docs/classtinyxml2_1_1_x_m_l_visitor-members.html
index dc04079..d7ab509 100644
--- a/docs/classtinyxml2_1_1_x_m_l_visitor-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_visitor-members.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/classtinyxml2_1_1_x_m_l_visitor.html b/docs/classtinyxml2_1_1_x_m_l_visitor.html
index 5333aec..c8c0f6b 100644
--- a/docs/classtinyxml2_1_1_x_m_l_visitor.html
+++ b/docs/classtinyxml2_1_1_x_m_l_visitor.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/files.html b/docs/files.html
index 3569d82..b7dcae3 100644
--- a/docs/files.html
+++ b/docs/files.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/functions.html b/docs/functions.html
index 14c8996..0a3f3ea 100644
--- a/docs/functions.html
+++ b/docs/functions.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/functions_func.html b/docs/functions_func.html
index bfc9182..3d8cb61 100644
--- a/docs/functions_func.html
+++ b/docs/functions_func.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/hierarchy.html b/docs/hierarchy.html
index 5c9166a..5d26b25 100644
--- a/docs/hierarchy.html
+++ b/docs/hierarchy.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/index.html b/docs/index.html
index e5171f8..4f257f3 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -22,7 +22,7 @@
TinyXML-2 doesn't parse or use DTDs (Document Type Definitions) or XSLs (eXtensible Stylesheet Language.) There are other parsers out there that are much more fully featured. But they are also much bigger, take longer to set up in your project, have a higher learning curve, and often have a more restrictive license. If you are working with browsers or have more complete XML needs, TinyXML-2 is not the parser for you.
TinyXML-2 is now the focus of all development, well tested, and your best choice unless you have a requirement to maintain TinyXML-1 code.
+TinyXML-2 is now the focus of all development, well tested, and your best choice between the two APIs. At this point, unless you are maintaining legacy code, you should choose TinyXML-2.
TinyXML-2 uses a similar API to TinyXML-1 and the same rich test cases. But the implementation of the parser is completely re-written to make it more appropriate for use in a game. It uses less memory, is faster, and uses far fewer memory allocations.
-TinyXML-2 has no requirement for STL, but has also dropped all STL support. All strings are query and set as 'const char*'. This allows the use of internal allocators, and keeps the code much simpler.
-Both parsers:
-Advantages of TinyXML-2
-Advantages of TinyXML-1
-TinyXML-2 has no requirement or support for STL. By returning const char* TinyXML-2 can be much more efficient with memory usage. (TinyXML-1 did support and use STL, but consumed much more memory for the DOM representation.)
TinyXML-2 uses UTF-8 exclusively when interpreting XML. All XML is assumed to be UTF-8.
+Filenames for loading / saving are passed unchanged to the underlying OS.
An XMLDocument is a C++ object like any other, that can be on the stack, or new'd and deleted on the heap.
However, any sub-node of the Document, XMLElement, XMLText, etc, can only be created by calling the appropriate XMLDocument::NewElement, NewText, etc. method. Although you have pointers to these objects, they are still owned by the Document. When the Document is deleted, so are all the nodes it contains.
@@ -114,7 +98,7 @@ $(function() {By default, TinyXML-2 preserves white space in a (hopefully) sane way that is almost compliant with the spec. (TinyXML-1 used a completely different model, much more similar to 'collapse', below.)
As a first step, all newlines / carriage-returns / line-feeds are normalized to a line-feed character, as required by the XML spec.
White space in text is preserved. For example:
<element> Hello, World</element> -
The leading space before the "Hello" and the double space after the comma are preserved. Line-feeds are preserved, as in this example:
<element> Hello again, +
The leading space before the "Hello" and the double space after the comma are preserved. Line-feeds are preserved, as in this example:
<element> Hello again,
World</element>
However, white space between elements is not preserved. Although not strictly compliant, tracking and reporting inter-element space is awkward, and not normally valuable. TinyXML-2 sees these as the same XML:
<document>
<data>1</data>
@@ -134,7 +118,7 @@ $(function() {
Note that (currently) there is a performance impact for using COLLAPSE_WHITESPACE. It essentially causes the XML to be parsed twice.
Error Reporting
-TinyXML-2 reports the line number of any errors in an XML document that cannot be parsed correctly. In addition, all nodes (elements, declarations, text, comments etc.) and attributes have a line number recorded as they are parsed. This allows an application that performs additional validation of the parsed XML document (e.g. application-implemented DTD validation) to report line number information in it's errors.
+TinyXML-2 reports the line number of any errors in an XML document that cannot be parsed correctly. In addition, all nodes (elements, declarations, text, comments etc.) and attributes have a line number recorded as they are parsed. This allows an application that performs additional validation of the parsed XML document (e.g. application-implemented DTD validation) to report line number information for error messages.
Entities
TinyXML-2 recognizes the pre-defined "character entities", meaning special characters. Namely:
& &
< <
@@ -163,19 +147,19 @@ printer.PushAttribute( "foo", "bar" );
printer.CloseElement();
Examples
Load and parse an XML file.
-/* ------ Example 1: Load and parse an XML file. ---- */
+/* ------ Example 1: Load and parse an XML file. ---- */
{
XMLDocument doc;
doc.LoadFile( "dream.xml" );
}
Lookup information.
-/* ------ Example 2: Lookup information. ---- */
+/* ------ Example 2: Lookup information. ---- */
{
XMLDocument doc;
doc.LoadFile( "dream.xml" );
// Structure of the XML file:
- // - Element "PLAY" the root Element, which is the
+ // - Element "PLAY" the root Element, which is the
// FirstChildElement of the Document
// - - Element "TITLE" child of the root PLAY Element
// - - - Text child of the TITLE Element
@@ -199,7 +183,7 @@ printer.CloseElement();
And additionally a test file:
Simply compile and run. There is a visual studio 2015 project included, a simple Makefile, an Xcode project, a Code::Blocks project, and a cmake CMakeLists.txt included to help you. The top of tinyxml.h even has a simple g++ command line if you are are *nix and don't want to use a build system.
+Simply compile and run. There is a visual studio 2017 project included, a simple Makefile, an Xcode project, a Code::Blocks project, and a cmake CMakeLists.txt included to help you. The top of tinyxml.h even has a simple g++ command line if you are are Unix/Linuk/BSD and don't want to use a build system.
TinyXML-2 uses semantic versioning. http://semver.org/ Releases are now tagged in github.
Note that the major version will (probably) change fairly rapidly. API changes are fairly common.
@@ -222,7 +206,7 @@ printer.CloseElement();
1.8.13
diff --git a/docs/pages.html b/docs/pages.html
index 8673889..6433b0b 100644
--- a/docs/pages.html
+++ b/docs/pages.html
@@ -22,7 +22,7 @@
1.8.13
diff --git a/docs/search/all_d.js b/docs/search/all_d.js
index b78f218..70858af 100644
--- a/docs/search/all_d.js
+++ b/docs/search/all_d.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['queryattribute',['QueryAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a042fc30504347b84a56cf863ad528a4f',1,'tinyxml2::XMLElement']]],
+ ['queryattribute',['QueryAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a5b7df3bed2b8954eabf227fa204522eb',1,'tinyxml2::XMLElement']]],
['queryboolattribute',['QueryBoolAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a14c1bb77c39689838be01838d86ca872',1,'tinyxml2::XMLElement']]],
['querybooltext',['QueryBoolText',['../classtinyxml2_1_1_x_m_l_element.html#a3fe5417d59eb8f5c4afe924b7d332736',1,'tinyxml2::XMLElement']]],
['queryboolvalue',['QueryBoolValue',['../classtinyxml2_1_1_x_m_l_attribute.html#a5f32e038954256f61c21ff20fd13a09c',1,'tinyxml2::XMLAttribute']]],
@@ -16,6 +16,7 @@ var searchData=
['queryintattribute',['QueryIntAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a8a78bc1187c1c45ad89f2690eab567b1',1,'tinyxml2::XMLElement']]],
['queryinttext',['QueryIntText',['../classtinyxml2_1_1_x_m_l_element.html#a926357996bef633cb736e1a558419632',1,'tinyxml2::XMLElement']]],
['queryintvalue',['QueryIntValue',['../classtinyxml2_1_1_x_m_l_attribute.html#a6d5176260db00ea301c01af8457cd993',1,'tinyxml2::XMLAttribute']]],
+ ['querystringattribute',['QueryStringAttribute',['../classtinyxml2_1_1_x_m_l_element.html#adb8ae765f98d0c5037faec48deea78bc',1,'tinyxml2::XMLElement']]],
['queryunsignedattribute',['QueryUnsignedAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a26fc84cbfba6769dafcfbf256c05e22f',1,'tinyxml2::XMLElement']]],
['queryunsignedtext',['QueryUnsignedText',['../classtinyxml2_1_1_x_m_l_element.html#a14d38aa4b5e18a46274a27425188a6a1',1,'tinyxml2::XMLElement']]],
['queryunsignedvalue',['QueryUnsignedValue',['../classtinyxml2_1_1_x_m_l_attribute.html#a48a7f3496f1415832e451bd8d09c9cb9',1,'tinyxml2::XMLAttribute']]]
diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js
index b78f218..70858af 100644
--- a/docs/search/functions_d.js
+++ b/docs/search/functions_d.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['queryattribute',['QueryAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a042fc30504347b84a56cf863ad528a4f',1,'tinyxml2::XMLElement']]],
+ ['queryattribute',['QueryAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a5b7df3bed2b8954eabf227fa204522eb',1,'tinyxml2::XMLElement']]],
['queryboolattribute',['QueryBoolAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a14c1bb77c39689838be01838d86ca872',1,'tinyxml2::XMLElement']]],
['querybooltext',['QueryBoolText',['../classtinyxml2_1_1_x_m_l_element.html#a3fe5417d59eb8f5c4afe924b7d332736',1,'tinyxml2::XMLElement']]],
['queryboolvalue',['QueryBoolValue',['../classtinyxml2_1_1_x_m_l_attribute.html#a5f32e038954256f61c21ff20fd13a09c',1,'tinyxml2::XMLAttribute']]],
@@ -16,6 +16,7 @@ var searchData=
['queryintattribute',['QueryIntAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a8a78bc1187c1c45ad89f2690eab567b1',1,'tinyxml2::XMLElement']]],
['queryinttext',['QueryIntText',['../classtinyxml2_1_1_x_m_l_element.html#a926357996bef633cb736e1a558419632',1,'tinyxml2::XMLElement']]],
['queryintvalue',['QueryIntValue',['../classtinyxml2_1_1_x_m_l_attribute.html#a6d5176260db00ea301c01af8457cd993',1,'tinyxml2::XMLAttribute']]],
+ ['querystringattribute',['QueryStringAttribute',['../classtinyxml2_1_1_x_m_l_element.html#adb8ae765f98d0c5037faec48deea78bc',1,'tinyxml2::XMLElement']]],
['queryunsignedattribute',['QueryUnsignedAttribute',['../classtinyxml2_1_1_x_m_l_element.html#a26fc84cbfba6769dafcfbf256c05e22f',1,'tinyxml2::XMLElement']]],
['queryunsignedtext',['QueryUnsignedText',['../classtinyxml2_1_1_x_m_l_element.html#a14d38aa4b5e18a46274a27425188a6a1',1,'tinyxml2::XMLElement']]],
['queryunsignedvalue',['QueryUnsignedValue',['../classtinyxml2_1_1_x_m_l_attribute.html#a48a7f3496f1415832e451bd8d09c9cb9',1,'tinyxml2::XMLAttribute']]]
diff --git a/docs/tinyxml2_8h_source.html b/docs/tinyxml2_8h_source.html
index 30a2f3e..6bbd727 100644
--- a/docs/tinyxml2_8h_source.html
+++ b/docs/tinyxml2_8h_source.html
@@ -22,7 +22,7 @@
1.8.13