mirror of https://github.com/AxioDL/tinyxml2.git
Merge remote-tracking branch 'github/master'
This commit is contained in:
commit
e7eb7d3327
|
@ -10,8 +10,8 @@ include(GNUInstallDirs)
|
||||||
################################
|
################################
|
||||||
# set lib version here
|
# set lib version here
|
||||||
|
|
||||||
set(GENERIC_LIB_VERSION "1.0.14")
|
set(GENERIC_LIB_VERSION "2.0.0")
|
||||||
set(GENERIC_LIB_SOVERSION "1")
|
set(GENERIC_LIB_SOVERSION "2")
|
||||||
|
|
||||||
|
|
||||||
################################
|
################################
|
||||||
|
|
2
dox
2
dox
|
@ -32,7 +32,7 @@ PROJECT_NAME = "TinyXML-2"
|
||||||
# This could be handy for archiving the generated documentation or
|
# This could be handy for archiving the generated documentation or
|
||||||
# if some version control system is used.
|
# if some version control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = 1.0.14
|
PROJECT_NUMBER = 2.0.0
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
# for a project that appears at the top of each page and should give viewer
|
# for a project that appears at the top of each page and should give viewer
|
||||||
|
|
|
@ -26,7 +26,6 @@ def fileProcess( name, lineFunction ):
|
||||||
filestream.write( output );
|
filestream.write( output );
|
||||||
filestream.close()
|
filestream.close()
|
||||||
|
|
||||||
|
|
||||||
def echoInput( line ):
|
def echoInput( line ):
|
||||||
return line
|
return line
|
||||||
|
|
||||||
|
@ -40,8 +39,8 @@ minor = args[1]
|
||||||
build = args[2]
|
build = args[2]
|
||||||
versionStr = major + "." + minor + "." + build
|
versionStr = major + "." + minor + "." + build
|
||||||
|
|
||||||
print "Setting dox,tinyxml2.h"
|
print ("Setting dox,tinyxml2.h")
|
||||||
print "Version: " + `major` + "." + `minor` + "." + `build`
|
print ("Version: " + major + "." + minor + "." + build)
|
||||||
|
|
||||||
#### Write the tinyxml.h ####
|
#### Write the tinyxml.h ####
|
||||||
|
|
||||||
|
@ -52,16 +51,16 @@ def engineRule( line ):
|
||||||
matchBuild = "static const int TIXML2_PATCH_VERSION"
|
matchBuild = "static const int TIXML2_PATCH_VERSION"
|
||||||
|
|
||||||
if line[0:len(matchMajor)] == matchMajor:
|
if line[0:len(matchMajor)] == matchMajor:
|
||||||
print "1)tinyxml2.h Major found"
|
print( "1)tinyxml2.h Major found" )
|
||||||
return matchMajor + " = " + `major` + ";\n"
|
return matchMajor + " = " + major + ";\n"
|
||||||
|
|
||||||
elif line[0:len(matchMinor)] == matchMinor:
|
elif line[0:len(matchMinor)] == matchMinor:
|
||||||
print "2)tinyxml2.h Minor found"
|
print( "2)tinyxml2.h Minor found" )
|
||||||
return matchMinor + " = " + `minor` + ";\n"
|
return matchMinor + " = " + minor + ";\n"
|
||||||
|
|
||||||
elif line[0:len(matchBuild)] == matchBuild:
|
elif line[0:len(matchBuild)] == matchBuild:
|
||||||
print "3)tinyxml2.h Build found"
|
print( "3)tinyxml2.h Build found" )
|
||||||
return matchBuild + " = " + `build` + ";\n"
|
return matchBuild + " = " + build + ";\n"
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return line;
|
return line;
|
||||||
|
@ -76,8 +75,8 @@ def doxRule( line ):
|
||||||
match = "PROJECT_NUMBER"
|
match = "PROJECT_NUMBER"
|
||||||
|
|
||||||
if line[0:len( match )] == match:
|
if line[0:len( match )] == match:
|
||||||
print "dox project found"
|
print( "dox project found" )
|
||||||
return "PROJECT_NUMBER = " + `major` + "." + `minor` + "." + `build` + "\n"
|
return "PROJECT_NUMBER = " + major + "." + minor + "." + build + "\n"
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return line;
|
return line;
|
||||||
|
@ -92,8 +91,8 @@ def cmakeRule1( line ):
|
||||||
matchVersion = "set(GENERIC_LIB_VERSION"
|
matchVersion = "set(GENERIC_LIB_VERSION"
|
||||||
|
|
||||||
if line[0:len(matchVersion)] == matchVersion:
|
if line[0:len(matchVersion)] == matchVersion:
|
||||||
print "1)tinyxml2.h Major found"
|
print( "1)tinyxml2.h Major found" )
|
||||||
return matchVersion + " \"" + `major` + "." + `minor` + "." + `build` + "\")" + "\n"
|
return matchVersion + " \"" + major + "." + minor + "." + build + "\")" + "\n"
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return line;
|
return line;
|
||||||
|
@ -105,8 +104,8 @@ def cmakeRule2( line ):
|
||||||
matchSoversion = "set(GENERIC_LIB_SOVERSION"
|
matchSoversion = "set(GENERIC_LIB_SOVERSION"
|
||||||
|
|
||||||
if line[0:len(matchSoversion)] == matchSoversion:
|
if line[0:len(matchSoversion)] == matchSoversion:
|
||||||
print "1)tinyxml2.h Major found"
|
print( "1)tinyxml2.h Major found" )
|
||||||
return matchSoversion + " \"" + `major` + "\")" + "\n"
|
return matchSoversion + " \"" + major + "\")" + "\n"
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return line;
|
return line;
|
||||||
|
|
27
tinyxml2.cpp
27
tinyxml2.cpp
|
@ -1758,12 +1758,7 @@ XMLError XMLDocument::Parse( const char* p, size_t len )
|
||||||
const char* start = p;
|
const char* start = p;
|
||||||
Clear();
|
Clear();
|
||||||
|
|
||||||
if ( len == 0 ) {
|
if ( len == 0 || !p || !*p ) {
|
||||||
SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 );
|
|
||||||
return _errorID;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !p || !*p ) {
|
|
||||||
SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 );
|
SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 );
|
||||||
return _errorID;
|
return _errorID;
|
||||||
}
|
}
|
||||||
|
@ -1945,17 +1940,17 @@ void XMLPrinter::PushHeader( bool writeBOM, bool writeDec )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void XMLPrinter::OpenElement( const char* name )
|
void XMLPrinter::OpenElement( const char* name, bool compactMode )
|
||||||
{
|
{
|
||||||
if ( _elementJustOpened ) {
|
if ( _elementJustOpened ) {
|
||||||
SealElement();
|
SealElement();
|
||||||
}
|
}
|
||||||
_stack.Push( name );
|
_stack.Push( name );
|
||||||
|
|
||||||
if ( _textDepth < 0 && !_firstElement && !_compactMode ) {
|
if ( _textDepth < 0 && !_firstElement && !compactMode ) {
|
||||||
Print( "\n" );
|
Print( "\n" );
|
||||||
}
|
}
|
||||||
if ( !_compactMode ) {
|
if ( !compactMode ) {
|
||||||
PrintSpace( _depth );
|
PrintSpace( _depth );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2007,7 +2002,7 @@ void XMLPrinter::PushAttribute( const char* name, double v )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void XMLPrinter::CloseElement()
|
void XMLPrinter::CloseElement( bool compactMode )
|
||||||
{
|
{
|
||||||
--_depth;
|
--_depth;
|
||||||
const char* name = _stack.Pop();
|
const char* name = _stack.Pop();
|
||||||
|
@ -2016,7 +2011,7 @@ void XMLPrinter::CloseElement()
|
||||||
Print( "/>" );
|
Print( "/>" );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ( _textDepth < 0 && !_compactMode) {
|
if ( _textDepth < 0 && !compactMode) {
|
||||||
Print( "\n" );
|
Print( "\n" );
|
||||||
PrintSpace( _depth );
|
PrintSpace( _depth );
|
||||||
}
|
}
|
||||||
|
@ -2026,7 +2021,7 @@ void XMLPrinter::CloseElement()
|
||||||
if ( _textDepth == _depth ) {
|
if ( _textDepth == _depth ) {
|
||||||
_textDepth = -1;
|
_textDepth = -1;
|
||||||
}
|
}
|
||||||
if ( _depth == 0 && !_compactMode) {
|
if ( _depth == 0 && !compactMode) {
|
||||||
Print( "\n" );
|
Print( "\n" );
|
||||||
}
|
}
|
||||||
_elementJustOpened = false;
|
_elementJustOpened = false;
|
||||||
|
@ -2151,7 +2146,9 @@ bool XMLPrinter::VisitEnter( const XMLDocument& doc )
|
||||||
|
|
||||||
bool XMLPrinter::VisitEnter( const XMLElement& element, const XMLAttribute* attribute )
|
bool XMLPrinter::VisitEnter( const XMLElement& element, const XMLAttribute* attribute )
|
||||||
{
|
{
|
||||||
OpenElement( element.Name() );
|
const XMLElement* parentElem = element.Parent()->ToElement();
|
||||||
|
bool compactMode = parentElem ? CompactMode(*parentElem) : _compactMode;
|
||||||
|
OpenElement( element.Name(), compactMode );
|
||||||
while ( attribute ) {
|
while ( attribute ) {
|
||||||
PushAttribute( attribute->Name(), attribute->Value() );
|
PushAttribute( attribute->Name(), attribute->Value() );
|
||||||
attribute = attribute->Next();
|
attribute = attribute->Next();
|
||||||
|
@ -2160,9 +2157,9 @@ bool XMLPrinter::VisitEnter( const XMLElement& element, const XMLAttribute* attr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool XMLPrinter::VisitExit( const XMLElement& )
|
bool XMLPrinter::VisitExit( const XMLElement& element )
|
||||||
{
|
{
|
||||||
CloseElement();
|
CloseElement( CompactMode(element) );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
15
tinyxml2.h
15
tinyxml2.h
|
@ -117,13 +117,10 @@ inline int TIXML_SNPRINTF( char* buffer, size_t size, const char* format, ... )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Versioning, past 1.0.14:
|
/* Versioning, past 1.0.14:
|
||||||
|
http://semver.org/
|
||||||
A backwards-incompatible change or API change bumps the major version.
|
|
||||||
An API addition or a backwards-compatible change, bumps the minor version.
|
|
||||||
Simple bug fixes bump the build number.
|
|
||||||
*/
|
*/
|
||||||
static const int TIXML2_MAJOR_VERSION = 1;
|
static const int TIXML2_MAJOR_VERSION = 2;
|
||||||
static const int TIXML2_MINOR_VERSION = 1;
|
static const int TIXML2_MINOR_VERSION = 0;
|
||||||
static const int TIXML2_PATCH_VERSION = 0;
|
static const int TIXML2_PATCH_VERSION = 0;
|
||||||
|
|
||||||
namespace tinyxml2
|
namespace tinyxml2
|
||||||
|
@ -1967,7 +1964,7 @@ public:
|
||||||
/** If streaming, start writing an element.
|
/** If streaming, start writing an element.
|
||||||
The element must be closed with CloseElement()
|
The element must be closed with CloseElement()
|
||||||
*/
|
*/
|
||||||
void OpenElement( const char* name );
|
void OpenElement( const char* name, bool compactMode );
|
||||||
/// If streaming, add an attribute to an open element.
|
/// If streaming, add an attribute to an open element.
|
||||||
void PushAttribute( const char* name, const char* value );
|
void PushAttribute( const char* name, const char* value );
|
||||||
void PushAttribute( const char* name, int value );
|
void PushAttribute( const char* name, int value );
|
||||||
|
@ -1975,7 +1972,7 @@ public:
|
||||||
void PushAttribute( const char* name, bool value );
|
void PushAttribute( const char* name, bool value );
|
||||||
void PushAttribute( const char* name, double value );
|
void PushAttribute( const char* name, double value );
|
||||||
/// If streaming, close the Element.
|
/// If streaming, close the Element.
|
||||||
virtual void CloseElement();
|
virtual void CloseElement( bool compactMode );
|
||||||
|
|
||||||
/// Add a text node.
|
/// Add a text node.
|
||||||
void PushText( const char* text, bool cdata=false );
|
void PushText( const char* text, bool cdata=false );
|
||||||
|
@ -2034,6 +2031,8 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
virtual bool CompactMode( const XMLElement& ) { return _compactMode; };
|
||||||
|
|
||||||
/** Prints out the space before an element. You may override to change
|
/** Prints out the space before an element. You may override to change
|
||||||
the space and tabs used. A PrintSpace() override should call Print().
|
the space and tabs used. A PrintSpace() override should call Print().
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue