home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 3 / AACD03.BIN / AACD / Programming / sofa / archive / exml.lha / exml / main / tree_parser / xml_node.e < prev    next >
Text File  |  1999-04-13  |  2KB  |  75 lines

  1. indexing
  2.     description: "common anchestor for xml-nodes";
  3.     status:            "See notice at end of class.";
  4.     author:            "Andreas Leitner";
  5.  
  6. deferred class
  7.     XML_NODE
  8. inherit
  9.     XML_CHILD_NODES
  10.         rename
  11.             make as make_child_nodes
  12.         end
  13. feature
  14.     make (a_parent: XML_ELEMENT) is
  15.         do
  16.             make_child_nodes
  17.             parent := a_parent
  18.         end
  19. feature
  20.     parent: XML_ELEMENT
  21.             -- parent of this node. Only void
  22.             -- if this node is the root node
  23.  
  24.     level: INTEGER is
  25.             -- depth at which this node occures
  26.             -- relative to it's root. The root
  27.             -- has the level 1.
  28.         do
  29.             if
  30.                 is_root
  31.             then
  32.                 Result := 1
  33.             else
  34.                 Result := parent.level + 1 
  35.             end
  36.         end
  37. feature -- properties
  38.     is_root: BOOLEAN is
  39.             -- is this node the root node
  40.         do
  41.             Result := parent = Void
  42.         end
  43.  
  44.     root: XML_ELEMENT is
  45.             -- the root element of the XML-document
  46.             -- this node belongs to
  47.         do
  48.             if
  49.                 not is_root
  50.             then
  51.                 Result := parent.root
  52.             end
  53.         end
  54.  
  55.     children_allowed: BOOLEAN is
  56.             -- Does this type of node allow children?
  57.             -- I.e. CHARACTER_DATA does not
  58.         deferred
  59.         end
  60. end -- XML_NODE
  61.  
  62. --|-------------------------------------------------------------------------
  63. --| eXML, Eiffel XML Parser Toolkit
  64. --| Copyright (C) 1999  Andreas Leitner
  65. --| See the file forum.txt included in this package for licensing info.
  66. --|
  67. --| Comments, Questions, Additions to this library? please contact:
  68. --|
  69. --| Andreas Leitner
  70. --| Arndtgasse 1/3/5
  71. --| 8010 Graz
  72. --| Austria
  73. --| email: andreas.leitner@teleweb.at
  74. --| web: http://exml.dhs.org
  75. --|-------------------------------------------------------------------------