Просмотр исходного кода

Moves example documentation from xmltest.h to xmltest.cpp

Martinsh Shaiters 13 лет назад
Родитель
Сommit
c9c8b77d87
3 измененных файлов с 116 добавлено и 133 удалено
  1. 1 1
      dox
  2. 115 3
      xmltest.cpp
  3. 0 129
      xmltest.h

+ 1 - 1
dox

@@ -669,7 +669,7 @@ WARN_LOGFILE           =
 # with spaces.
 
 INPUT                  = tinyxml2.h \
-                         xmltest.h \
+                         xmltest.cpp \
                          readme.md
 
 # This tag can be used to specify the character encoding of the source files

+ 115 - 3
xmltest.cpp

@@ -79,7 +79,6 @@ void NullLineEndings( char* p )
 }
 
 
-// Comments in the header. (Don't know how to get Doxygen to read comments in this file.)
 int example_1()
 {
 	XMLDocument doc;
@@ -87,9 +86,17 @@ int example_1()
 
 	return doc.ErrorID();
 }
+/** @page Example-1 Load an XML File
+ *  @dontinclude ./xmltest.cpp
+ *  Basic XML file loading.
+ *  The basic syntax to load an XML file from
+ *  disk and check for an error. (ErrorID()
+ *  will return 0 for no error.)
+ *  @skip example_1()
+ *  @until }
+ */
+ 
 
-
-// Comments in the header. (Don't know how to get Doxygen to read comments in this file.)
 int example_2()
 {
 	static const char* xml = "<element/>";
@@ -98,6 +105,15 @@ int example_2()
 
 	return doc.ErrorID();
 }
+/** @page Example-2 Parse an XML from char buffer
+ *  @dontinclude ./xmltest.cpp
+ *  Basic XML string parsing.
+ *  The basic syntax to parse an XML for
+ *  a char* and check for an error. (ErrorID()
+ *  will return 0 for no error.)
+ *  @skip example_2()
+ *  @until }
+ */
 
 
 int example_3()
@@ -122,6 +138,69 @@ int example_3()
 
 	return doc.ErrorID();
 }
+/** @page Example-3 Get information out of XML
+	@dontinclude ./xmltest.cpp
+	In this example, we navigate a simple XML
+	file, and read some interesting text. Note
+	that this is examlpe doesn't use error
+	checking; working code should check for null
+	pointers when walking an XML tree, or use
+	XMLHandle.
+	
+	(The XML is an excerpt from "dream.xml"). 
+
+	@skip example_3()
+	@until </PLAY>";
+
+	The structure of the XML file is:
+
+	<ul>
+		<li>(declaration)</li>
+		<li>(dtd stuff)</li>
+		<li>Element "PLAY"</li>
+		<ul>
+			<li>Element "TITLE"</li>
+			<ul>
+			    <li>Text "A Midsummer Night's Dream"</li>
+			</ul>
+		</ul>
+	</ul>
+
+	For this example, we want to print out the 
+	title of the play. The text of the title (what
+	we want) is child of the "TITLE" element which
+	is a child of the "PLAY" element.
+
+	We want to skip the declaration and dtd, so the
+	method FirstChildElement() is a good choice. The
+	FirstChildElement() of the Document is the "PLAY"
+	Element, the FirstChildElement() of the "PLAY" Element
+	is the "TITLE" Element.
+
+	@until ( "TITLE" );
+
+	We can then use the convenience function GetText()
+	to get the title of the play.
+
+	@until title );
+
+	Text is just another Node in the XML DOM. And in
+	fact you should be a little cautious with it, as
+	text nodes can contain elements. 
+	
+	@verbatim
+	Consider: A Midsummer Night's <b>Dream</b>
+	@endverbatim
+
+	It is more correct to actually query the Text Node
+	if in doubt:
+
+	@until title );
+
+	Noting that here we use FirstChild() since we are
+	looking for XMLText, not an element, and ToText()
+	is a cast from a Node to a XMLText. 
+*/
 
 
 bool example_4()
@@ -150,6 +229,39 @@ bool example_4()
 
 	return !doc.Error() && ( v0 == v1 );
 }
+/** @page Example-4 Read attributes and text information.
+	@dontinclude ./xmltest.cpp
+
+	There are fundamentally 2 ways of writing a key-value
+	pair into an XML file. (Something that's always annoyed
+	me about XML.) Either by using attributes, or by writing
+	the key name into an element and the value into
+	the text node wrapped by the element. Both approaches
+	are illustrated in this example, which shows two ways
+	to encode the value "2" into the key "v":
+
+	@skip example_4()
+	@until "</information>";
+
+	TinyXML-2 has accessors for both approaches. 
+
+	When using an attribute, you navigate to the XMLElement
+	with that attribute and use the QueryIntAttribute()
+	group of methods. (Also QueryFloatAttribute(), etc.)
+
+	@skip XMLElement* attributeApproachElement
+	@until &v0 );
+
+	When using the text approach, you need to navigate
+	down one more step to the XMLElement that contains
+	the text. Note the extra FirstChildElement( "v" )
+	in the code below. The value of the text can then
+	be safely queried with the QueryIntText() group
+	of methods. (Also QueryFloatText(), etc.)
+
+	@skip XMLElement* textApproachElement
+	@until &v1 );
+*/
 
 
 int main( int /*argc*/, const char ** /*argv*/ )

+ 0 - 129
xmltest.h

@@ -1,129 +0,0 @@
-// Purely doxygen documentation
-
-
-// What follows is the docs for the examples.
-// I'd like the docs to be just before the
-// actual examples in xmltest.cpp, but I 
-// can't seem to get doxygen to do that. It
-// would be a wonderful patch if anyone figures
-// it out.
-
-/** @page Example-1 Load an XML File
- *  @dontinclude ./xmltest.cpp
- *  Basic XML file loading.
- *  The basic syntax to load an XML file from
- *	disk and check for an error. (ErrorID()
- *	will return 0 for no error.)
- *	@skip example_1()
- *  @until }
- */
-
-
-/** @page Example-2 Parse an XML from char buffer
- *  @dontinclude ./xmltest.cpp
- *  Basic XML string parsing.
- *  The basic syntax to parse an XML for
- *  a char* and check for an error. (ErrorID()
- *	will return 0 for no error.)
- *	@skip example_2()
- *  @until }
- */
-
-/** @page Example-3 Get information out of XML
-	@dontinclude ./xmltest.cpp
-	In this example, we navigate a simple XML
-	file, and read some interesting text. Note
-	that this is examlpe doesn't use error
-	checking; working code should check for null
-	pointers when walking an XML tree, or use
-	XMLHandle.
-	
-	(The XML is an excerpt from "dream.xml"). 
-
-	@skip example_3
-	@until </PLAY>";
-
-	The structure of the XML file is:
-
-	<ul>
-		<li>(declaration)</li>
-		<li>(dtd stuff)</li>
-		<li>Element "PLAY"</li>
-		<ul>
-			<li>Element "TITLE"</li>
-			<ul>
-			    <li>Text "A Midsummer Night's Dream"</li>
-			</ul>
-		</ul>
-	</ul>
-
-	For this example, we want to print out the 
-	title of the play. The text of the title (what
-	we want) is child of the "TITLE" element which
-	is a child of the "PLAY" element.
-
-	We want to skip the declaration and dtd, so the
-	method FirstChildElement() is a good choice. The
-	FirstChildElement() of the Document is the "PLAY"
-	Element, the FirstChildElement() of the "PLAY" Element
-	is the "TITLE" Element.
-
-	@until ( "TITLE" );
-
-	We can then use the convenience function GetText()
-	to get the title of the play.
-
-	@until title );
-
-	Text is just another Node in the XML DOM. And in
-	fact you should be a little cautious with it, as
-	text nodes can contain elements. 
-	
-	@verbatim
-	Consider: A Midsummer Night's <b>Dream</b>
-	@endverbatim
-
-	It is more correct to actually query the Text Node
-	if in doubt:
-
-	@until title );
-
-	Noting that here we use FirstChild() since we are
-	looking for XMLText, not an element, and ToText()
-	is a cast from a Node to a XMLText. 
-*/
-
-/** @page Example-4 Read attributes and text information.
-	@dontinclude ./xmltest.cpp
-
-	There are fundamentally 2 ways of writing a key-value
-	pair into an XML file. (Something that's always annoyed
-	me about XML.) Either by using attributes, or by writing
-	the key name into an element and the value into
-	the text node wrapped by the element. Both approaches
-	are illustrated in this example, which shows two ways
-	to encode the value "2" into the key "v":
-
-	@skip example_4
-	@until "</information>";
-
-	TinyXML-2 has accessors for both approaches. 
-
-	When using an attribute, you navigate to the XMLElement
-	with that attribute and use the QueryIntAttribute()
-	group of methods. (Also QueryFloatAttribute(), etc.)
-
-	@skip XMLElement* attributeApproachElement
-	@until &v0 );
-
-	When using the text approach, you need to navigate
-	down one more step to the XMLElement that contains
-	the text. Note the extra FirstChildElement( "v" )
-	in the code below. The value of the text can then
-	be safely queried with the QueryIntText() group
-	of methods. (Also QueryFloatText(), etc.)
-
-	@skip XMLElement* textApproachElement
-	@until &v1 );
-*/
-