Update of /cvsroot/eas-dev/eas-dev/libs/libsxmlstream/src
In directory sc8-pr-cvs1:/tmp/cvs-serv31785/src
Modified Files:
sxmlstream.cxx
Log Message:
New interface for SXmlSteam class. SXmlStream now can act as SAX-alike SXml
parser emitting signals on start/end of elements and character data.
Index: sxmlstream.cxx
===================================================================
RCS file: /cvsroot/eas-dev/eas-dev/libs/libsxmlstream/src/sxmlstream.cxx,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- sxmlstream.cxx 4 Feb 2003 04:13:51 -0000 1.11
+++ sxmlstream.cxx 11 Feb 2003 08:12:03 -0000 1.12
@@ -35,18 +35,47 @@
/* SXmlStream */
-bool SXmlStream::queueIsEmpty()
+void SXmlStream::processNode(const SXmlNode& n)
{
- return m_queue.empty();
+ switch (node.type) {
+ case SXmlNode_Element_t:
+
+ break;
+
+ case SXmlNode_Attribute_t:
+
+ break;
+
+ case SXmlNode_Namespace_t:
+
+ break;
+
+ case SXmlNode_Char_t:
+ characters.emit(node.data);
+ break;
+
+ default:
+ // Error Condition!
+ // FIXME: Need some exception to throw
+ break;
+ }
}
-SXmlNode SXmlStream::pop()
+SXmlStream& SXmlStream::operator<<(const SXmlNode& n)
{
- SXmlNode e = m_queue.front();
- m_queue.pop();
- return e;
+ startRootElement.emit();
+ processNode(node);
+ endRootElement.emit();
+ m_queue.push_back(node);
+ return *this;
}
+SXmlStream& SXmlStream::operator<<(const string &s)
+{
+
+
+ return *this;
+}
#define BIN_LBRACKET "("
@@ -162,12 +191,6 @@
return os;
}
-SXmlBinaryStream& operator<<(SXmlBinaryStream& s, const ostream& os)
-{
- SXmlBinaryStream bs();
- // TODO
-}
-
/* SXmlTextStream */
ostream& SXml_TextOutput(ostream& os, SXmlNode e)
@@ -244,10 +267,4 @@
return os;
}
-SXmlTextStream& operator<<(SXmlTextStream& s, const ostream& os)
-{
- SXmlTextStream ts();
- // TODO
-}
-
}; };
|