summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolai Pretzell <np@openoffice.org>2001-03-23 12:39:37 +0000
committerNikolai Pretzell <np@openoffice.org>2001-03-23 12:39:37 +0000
commita0e1789de6f846e8b24473ee8f150e87acef1a10 (patch)
treec7309e28672c877b34e1b6296d5036dc32c16ec7
parent21a80336a238cc315f8a3e481a195d7e156922a2 (diff)
Allow tag <type> in module-description
-rw-r--r--xml2cmp/source/xcd/cr_html.cxx4
-rw-r--r--xml2cmp/source/xcd/cr_html.hxx4
-rw-r--r--xml2cmp/source/xcd/cr_index.cxx4
-rw-r--r--xml2cmp/source/xcd/cr_index.hxx4
-rw-r--r--xml2cmp/source/xcd/cr_metho.cxx4
-rw-r--r--xml2cmp/source/xcd/cr_metho.hxx4
-rw-r--r--xml2cmp/source/xcd/filebuff.cxx4
-rw-r--r--xml2cmp/source/xcd/filebuff.hxx4
-rw-r--r--xml2cmp/source/xcd/main.cxx4
-rw-r--r--xml2cmp/source/xcd/makefile.mk4
-rw-r--r--xml2cmp/source/xcd/parse.cxx2
-rw-r--r--xml2cmp/source/xcd/parse.hxx2
-rw-r--r--xml2cmp/source/xcd/xmlelem.cxx302
-rw-r--r--xml2cmp/source/xcd/xmlelem.hxx275
-rw-r--r--xml2cmp/source/xcd/xmltree.cxx2
-rw-r--r--xml2cmp/source/xcd/xmltree.hxx2
16 files changed, 601 insertions, 24 deletions
diff --git a/xml2cmp/source/xcd/cr_html.cxx b/xml2cmp/source/xcd/cr_html.cxx
index 210e47c3b..c9546bc39 100644
--- a/xml2cmp/source/xcd/cr_html.cxx
+++ b/xml2cmp/source/xcd/cr_html.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: cr_html.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+ * last change: $Author: np $ $Date: 2001-03-23 13:39:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
diff --git a/xml2cmp/source/xcd/cr_html.hxx b/xml2cmp/source/xcd/cr_html.hxx
index 217e40f81..faa3163cd 100644
--- a/xml2cmp/source/xcd/cr_html.hxx
+++ b/xml2cmp/source/xcd/cr_html.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: cr_html.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+ * last change: $Author: np $ $Date: 2001-03-23 13:39:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
diff --git a/xml2cmp/source/xcd/cr_index.cxx b/xml2cmp/source/xcd/cr_index.cxx
index f2382e898..7c27dabab 100644
--- a/xml2cmp/source/xcd/cr_index.cxx
+++ b/xml2cmp/source/xcd/cr_index.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: cr_index.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+ * last change: $Author: np $ $Date: 2001-03-23 13:39:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
diff --git a/xml2cmp/source/xcd/cr_index.hxx b/xml2cmp/source/xcd/cr_index.hxx
index 854814fc2..49c8d42c4 100644
--- a/xml2cmp/source/xcd/cr_index.hxx
+++ b/xml2cmp/source/xcd/cr_index.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: cr_index.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+ * last change: $Author: np $ $Date: 2001-03-23 13:39:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
diff --git a/xml2cmp/source/xcd/cr_metho.cxx b/xml2cmp/source/xcd/cr_metho.cxx
index e0826ce9e..55fa6d92f 100644
--- a/xml2cmp/source/xcd/cr_metho.cxx
+++ b/xml2cmp/source/xcd/cr_metho.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: cr_metho.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+ * last change: $Author: np $ $Date: 2001-03-23 13:39:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
diff --git a/xml2cmp/source/xcd/cr_metho.hxx b/xml2cmp/source/xcd/cr_metho.hxx
index b4ea9c936..82d4e1076 100644
--- a/xml2cmp/source/xcd/cr_metho.hxx
+++ b/xml2cmp/source/xcd/cr_metho.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: cr_metho.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+ * last change: $Author: np $ $Date: 2001-03-23 13:39:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
diff --git a/xml2cmp/source/xcd/filebuff.cxx b/xml2cmp/source/xcd/filebuff.cxx
index 4a39bed8f..0145caafe 100644
--- a/xml2cmp/source/xcd/filebuff.cxx
+++ b/xml2cmp/source/xcd/filebuff.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: filebuff.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+ * last change: $Author: np $ $Date: 2001-03-23 13:39:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
diff --git a/xml2cmp/source/xcd/filebuff.hxx b/xml2cmp/source/xcd/filebuff.hxx
index 6128140df..9e6eb37dd 100644
--- a/xml2cmp/source/xcd/filebuff.hxx
+++ b/xml2cmp/source/xcd/filebuff.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: filebuff.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+ * last change: $Author: np $ $Date: 2001-03-23 13:39:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
diff --git a/xml2cmp/source/xcd/main.cxx b/xml2cmp/source/xcd/main.cxx
index f18d769e1..a460778c0 100644
--- a/xml2cmp/source/xcd/main.cxx
+++ b/xml2cmp/source/xcd/main.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: main.cxx,v $
*
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
*
- * last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+ * last change: $Author: np $ $Date: 2001-03-23 13:39:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
diff --git a/xml2cmp/source/xcd/makefile.mk b/xml2cmp/source/xcd/makefile.mk
index 29901c6ff..5abd8f797 100644
--- a/xml2cmp/source/xcd/makefile.mk
+++ b/xml2cmp/source/xcd/makefile.mk
@@ -2,9 +2,9 @@
#
# $RCSfile: makefile.mk,v $
#
-# $Revision: 1.3 $
+# $Revision: 1.4 $
#
-# last change: $Author: np $ $Date: 2001-03-23 13:24:04 $
+# last change: $Author: np $ $Date: 2001-03-23 13:39:37 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
diff --git a/xml2cmp/source/xcd/parse.cxx b/xml2cmp/source/xcd/parse.cxx
index 5f63df60b..d528edc46 100644
--- a/xml2cmp/source/xcd/parse.cxx
+++ b/xml2cmp/source/xcd/parse.cxx
@@ -2,7 +2,7 @@
*
* $RCSfile: parse.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
* last change: $Author: np $Date: $
*
diff --git a/xml2cmp/source/xcd/parse.hxx b/xml2cmp/source/xcd/parse.hxx
index cf547269f..bde779958 100644
--- a/xml2cmp/source/xcd/parse.hxx
+++ b/xml2cmp/source/xcd/parse.hxx
@@ -2,7 +2,7 @@
*
* $RCSfile: parse.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
* last change: $Author: np $Date: $
*
diff --git a/xml2cmp/source/xcd/xmlelem.cxx b/xml2cmp/source/xcd/xmlelem.cxx
new file mode 100644
index 000000000..c417e2627
--- /dev/null
+++ b/xml2cmp/source/xcd/xmlelem.cxx
@@ -0,0 +1,302 @@
+/*************************************************************************
+ *
+ * $RCSfile: xmlelem.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: np $Date: $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+
+#include <xmlelem.hxx>
+
+
+// NOT FULLY DEFINED SERVICES
+#include <parse.hxx>
+#include <cr_html.hxx>
+#include <assert.h>
+
+
+
+XmlElement::XmlElement( const char * i_sName )
+ : sName(i_sName)
+{
+}
+
+void
+XmlElement::Insert2Index( Index & ) const
+{
+ // Default version. Does nothing.
+}
+
+XmlElement *
+MultipleElement::FindChild( const Simstr & i_sChildName )
+{
+ unsigned i_max = aChildren.size();
+ for ( unsigned i = 0; i < i_max; ++i )
+ {
+ if ( aChildren[i]->Name() == i_sChildName )
+ return aChildren[i];
+ }
+
+ return 0;
+}
+
+MultipleElement::~MultipleElement()
+{
+}
+
+MultipleElement::MultipleElement( const char * i_sName )
+ : XmlElement(i_sName)
+{
+}
+
+void
+MultipleElement::AddChild( XmlElement & let_drElement )
+{
+ aChildren.push_back(&let_drElement);
+}
+
+void
+SequenceElement::Parse( X2CParser & io_rParser )
+{
+ io_rParser.Parse_Sequence( Children(), Name() );
+}
+
+void
+SequenceElement::Write2Html( HtmlCreator & io_rHC ) const
+{
+ io_rHC.StartTable();
+
+ Children()[nIndexNameElement]->Write2Html(io_rHC);
+ for ( unsigned i = 0; i < Children().size(); ++i )
+ {
+ if (i != nIndexNameElement)
+ {
+ Children()[i]->Write2Html(io_rHC);
+ }
+ } // end for
+
+ io_rHC.FinishTable();
+}
+
+
+SequenceElement::SequenceElement( const char * i_sName,
+ unsigned i_nIndexNameElement )
+ : MultipleElement(i_sName),
+ nIndexNameElement(i_nIndexNameElement)
+{
+}
+
+FreeChoiceElement::FreeChoiceElement()
+ : MultipleElement("")
+{
+}
+
+void
+FreeChoiceElement::Parse( X2CParser & io_rParser )
+{
+ io_rParser.Parse_FreeChoice(Children());
+}
+
+void
+FreeChoiceElement::Write2Html( HtmlCreator & io_rHC ) const
+{
+ for ( unsigned i = 0; i < Children().size(); ++i )
+ {
+ Children()[i]->Write2Html(io_rHC);
+ } // end for
+}
+
+ListElement::ListElement( const char * i_sElementsName,
+ F_CREATE i_fCreateNewElement )
+ : MultipleElement(i_sElementsName),
+ fCreateNewElement(i_fCreateNewElement)
+{
+}
+
+void
+ListElement::Parse( X2CParser & io_rParser )
+{
+ io_rParser.Parse_List( *this );
+}
+
+void
+ListElement::Write2Html( HtmlCreator & io_rHC ) const
+{
+ for ( unsigned i = 0; i < Children().size(); ++i )
+ {
+ Children()[i]->Write2Html(io_rHC);
+ } // end for
+}
+
+XmlElement *
+ListElement::Create_and_Add_NewElement()
+{
+ assert(fCreateNewElement != 0);
+ XmlElement * pNew = (*fCreateNewElement)(Name());
+ Children().push_back( pNew );
+ return pNew;
+}
+
+TextElement::TextElement( const char * i_sName,
+ E_LinkType i_eLinkType,
+ bool i_bReverseName )
+ : XmlElement(i_sName),
+ eLinkType(i_eLinkType),
+ bReverseName(i_bReverseName)
+{
+}
+
+SglTextElement::SglTextElement( const char * i_sName,
+ E_LinkType i_eLinkType,
+ bool i_bReverseName )
+ : TextElement(i_sName, i_eLinkType, i_bReverseName)
+{
+}
+
+void
+SglTextElement::Parse( X2CParser & io_rParser )
+{
+ io_rParser.Parse_Text(sContent, Name(), IsReversedName());
+}
+
+void
+SglTextElement::Write2Html( HtmlCreator & io_rHC ) const
+{
+ if ( !sContent.is_no_text() )
+ io_rHC.Write_SglTextElement( *this );
+}
+
+MultipleTextElement::MultipleTextElement( const char * i_sName,
+ E_LinkType i_eLinkType,
+ bool i_bReverseName )
+ : TextElement(i_sName, i_eLinkType, i_bReverseName)
+{
+}
+
+void
+MultipleTextElement::Parse( X2CParser & io_rParser )
+{
+ io_rParser.Parse_MultipleText(aContent, Name(), IsReversedName());
+}
+
+void
+MultipleTextElement::Write2Html( HtmlCreator & io_rHC ) const
+{
+ if (Size() > 0)
+ io_rHC.Write_MultiTextElement( *this );
+}
+
+const Simstr &
+MultipleTextElement::Data( unsigned i_nNr ) const
+{
+ static const Simstr sNull_;
+
+ if (aContent.is_valid_index(i_nNr))
+ return aContent[i_nNr];
+ return sNull_;
+}
+
+EmptyElement::EmptyElement( const char * i_sName )
+ : XmlElement(i_sName)
+{
+}
+
+SglAttrElement::SglAttrElement( const char * i_sName,
+ const char * i_sAttrName )
+ : EmptyElement(i_sName),
+ sAttrName(i_sAttrName)
+{
+}
+
+void
+SglAttrElement::Parse( X2CParser & io_rParser )
+{
+ io_rParser.Parse_SglAttr(sAttrValue, Name(), sAttrName);
+}
+
+void
+SglAttrElement::Write2Html( HtmlCreator & io_rHC ) const
+{
+ io_rHC.Write_SglText( Name(), sAttrValue );
+}
+
+MultipleAttrElement::MultipleAttrElement( const char * i_sName,
+ const char ** i_sAttrNames,
+ unsigned i_nSize )
+ : EmptyElement(i_sName)
+{
+ for ( unsigned i = 0; i < i_nSize; ++i )
+ {
+ aAttrNames.push_back(Simstr(i_sAttrNames[i]));
+ aAttrValues.push_back(Simstr(""));
+ }
+}
+
+void
+MultipleAttrElement::Parse( X2CParser & io_rParser )
+{
+ io_rParser.Parse_MultipleAttr(aAttrValues, Name(), aAttrNames);
+}
+
+void
+MultipleAttrElement::Write2Html( HtmlCreator & io_rHC ) const
+{
+ if ( ! aAttrValues[0].is_no_text() )
+ io_rHC.Write_ReferenceDocu( Name(), aAttrValues[0], aAttrValues[1], aAttrValues[2] );
+}
+
+
diff --git a/xml2cmp/source/xcd/xmlelem.hxx b/xml2cmp/source/xcd/xmlelem.hxx
new file mode 100644
index 000000000..e0caa4441
--- /dev/null
+++ b/xml2cmp/source/xcd/xmlelem.hxx
@@ -0,0 +1,275 @@
+/*************************************************************************
+ *
+ * $RCSfile: xmlelem.hxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: np $Date: $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef X2C_XMLELEM_HXX
+#define X2C_XMLELEM_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+#include "../support/sistr.hxx"
+#include "../support/list.hxx"
+#include "../support/syshelp.hxx"
+ // PARAMETERS
+
+
+class X2CParser;
+class HtmlCreator;
+class Index;
+
+class XmlElement
+{
+ public:
+ virtual ~XmlElement() {}
+ virtual void Parse(
+ X2CParser & io_rParser ) = 0;
+ virtual void Write2Html(
+ HtmlCreator & io_rHC ) const = 0;
+ virtual void Insert2Index(
+ Index & o_rIndex ) const; // Default: Does nothing, but can be overwritten.
+
+// virtual void Put2Dependy() = 0;
+
+ const Simstr & Name() const { return sName; }
+
+ protected:
+ XmlElement(
+ const char * i_sName );
+ private:
+ Simstr sName;
+};
+
+
+class MultipleElement : public XmlElement
+{
+ public:
+ ~MultipleElement();
+
+ virtual XmlElement *
+ FindChild(
+ const Simstr & i_sChildName );
+
+
+ protected:
+ typedef DynamicList<XmlElement> ChildList;
+
+ MultipleElement(
+ const char * i_sName );
+
+ void AddChild(
+ XmlElement & let_drElement );
+
+ const ChildList & Children() const { return aChildren; }
+ ChildList & Children() { return aChildren; }
+
+ private:
+ ChildList aChildren;
+};
+
+class SequenceElement : public MultipleElement
+{
+ public:
+ virtual void Parse(
+ X2CParser & io_rParser );
+ virtual void Write2Html(
+ HtmlCreator & io_rHC ) const;
+
+ protected:
+ SequenceElement(
+ const char * i_sName,
+ unsigned i_nIndexNameElement = 0 );
+ private:
+ unsigned nIndexNameElement;
+};
+
+class FreeChoiceElement : public MultipleElement
+{
+ public:
+ FreeChoiceElement();
+ using MultipleElement::AddChild;
+
+ virtual void Parse(
+ X2CParser & io_rParser );
+ virtual void Write2Html(
+ HtmlCreator & io_rHC ) const;
+};
+
+class ListElement : public MultipleElement
+{
+ public:
+ typedef XmlElement * (*F_CREATE)(const Simstr &);
+
+ ListElement(
+ const char * i_sElementsName,
+ F_CREATE i_fCreateNewElement );
+
+ virtual void Parse(
+ X2CParser & io_rParser );
+ virtual void Write2Html(
+ HtmlCreator & io_rHC ) const;
+ virtual XmlElement *
+ Create_and_Add_NewElement();
+ private:
+ F_CREATE fCreateNewElement;
+};
+
+class TextElement : public XmlElement
+{
+ public:
+ E_LinkType LinkType() const { return eLinkType; }
+ bool IsReversedName() const { return bReverseName; }
+ protected:
+ TextElement(
+ const char * i_sName,
+ E_LinkType i_eLinkType,
+ bool i_bReverseName );
+ private:
+ E_LinkType eLinkType;
+ bool bReverseName;
+};
+
+class SglTextElement : public TextElement
+{
+ public:
+ SglTextElement(
+ const char * i_sName,
+ E_LinkType i_eLinkType,
+ bool i_bReverseName );
+
+ virtual void Parse(
+ X2CParser & io_rParser );
+ virtual void Write2Html(
+ HtmlCreator & io_rHC ) const;
+ virtual const Simstr &
+ Data() const { return sContent; }
+ private:
+ Simstr sContent;
+};
+
+class MultipleTextElement : public TextElement
+{
+ public:
+ MultipleTextElement(
+ const char * i_sName,
+ E_LinkType i_eLinkType,
+ bool i_bReverseName );
+
+ virtual void Parse(
+ X2CParser & io_rParser );
+ virtual void Write2Html(
+ HtmlCreator & io_rHC ) const;
+ virtual const Simstr &
+ Data(
+ unsigned i_nNr ) const;
+ virtual unsigned Size() const { return aContent.size(); }
+
+ private:
+ List<Simstr> aContent;
+};
+
+class EmptyElement : public XmlElement
+{
+ protected:
+ EmptyElement(
+ const char * i_sName );
+};
+
+class SglAttrElement : public EmptyElement
+{
+ public:
+ SglAttrElement(
+ const char * i_sName,
+ const char * i_sAttrName );
+
+ virtual void Parse(
+ X2CParser & io_rParser );
+ virtual void Write2Html(
+ HtmlCreator & io_rHC ) const;
+ private:
+ Simstr sAttrName;
+ Simstr sAttrValue;
+};
+
+
+class MultipleAttrElement : public EmptyElement
+{
+ public:
+ MultipleAttrElement(
+ const char * i_sName,
+ const char ** i_sAttrNames,
+ unsigned i_nSize );
+
+ virtual void Parse(
+ X2CParser & io_rParser );
+ virtual void Write2Html(
+ HtmlCreator & io_rHC ) const;
+ private:
+ List<Simstr> aAttrNames;
+ List<Simstr> aAttrValues;
+};
+
+// IMPLEMENTATION
+
+
+#endif
+
diff --git a/xml2cmp/source/xcd/xmltree.cxx b/xml2cmp/source/xcd/xmltree.cxx
index 6a059324f..7db1c865a 100644
--- a/xml2cmp/source/xcd/xmltree.cxx
+++ b/xml2cmp/source/xcd/xmltree.cxx
@@ -2,7 +2,7 @@
*
* $RCSfile: xmltree.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
* last change: $Author: np $Date: $
*
diff --git a/xml2cmp/source/xcd/xmltree.hxx b/xml2cmp/source/xcd/xmltree.hxx
index 500a1f61c..897156822 100644
--- a/xml2cmp/source/xcd/xmltree.hxx
+++ b/xml2cmp/source/xcd/xmltree.hxx
@@ -2,7 +2,7 @@
*
* $RCSfile: xmltree.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
* last change: $Author: np $Date: $
*