eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'XML::XMLNodeBuilder':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: XMLNodeBuilder (in XML)


Inheritance:

   Object
   |
   +--XML::XMLNodeBuilder
      |
      +--XML::NodeBuilder
      |
      +--XML::SourceNodeBuilder
      |
      +--XML::SourceScannerNodeBuilder

Package:
stx:goodies/xml/vw
Category:
XML-VW-Parsing
Version:
rev: 1.18 date: 2021/01/20 15:20:31
user: cg
file: XMLNodeBuilder.st directory: goodies/xml/vw
module: stx stc-classLibrary: vw

Description:


This class along with it's subclass NodeBuilder is used by the XMLParser to distill an XML document into it's component elements. Since XML elements are tag delimited and nest
properly within each other in a well-formed XML document, this class contains code to
process the tags and build a dictionary of xml elements

Instance Variables:
	tagStack        <OrderedCollection> 
	tags    <Dictionary>


Class protocol:

constants
o  reservedXmlNamespace
Namespace constraint: Reserved Prefixes and Namespace Names

The prefix xml is by definition bound to the namespace name http://www.w3.org/XML/1998/namespace. It may, but need not, be declared, and must not be bound to any other namespace name. No other prefix may be bound to this namespace name.

The prefix xmlns is used only to declare namespace bindings and is by definition bound to the namespace name http://www.w3.org/2000/xmlns/. It must not be declared. No other prefix may be bound to this namespace name.

All other prefixes beginning with the three-letter sequence x, m, l, in any case combination, are reserved. This means that

* users should not use them except as defined by later specifications
* processors must not treat them as fatal errors.

instance creation
o  new
(comment from inherited method)
return an instance of myself without indexed variables


Instance protocol:

accessing
o  currentElement
cg: added for twoFlower *compatibility with newer XMLParser framework

o  currentTag

o  elementStack
cg: added for twoFlower *compatibility with newer XMLParser framework

o  popTag
cg: added for twoFlower *compatibility with newer XMLParser framework

o  pushTag: tag
cg: added for twoFlower *compatibility with newer XMLParser framework

o  pushTag: tag whileDoing: aBlock

o  unresolvableNamespace
get the namespace to be used, if it cannot be resolved.
An error is raised if this is nil.

o  unresolvableNamespace: aString
set the namespace to be used, if it cannot be resolved.
An error is raised if this is nil.

building
o  externalGeneralEntity: nameString id: arrayIDs ndata: ndata uri: aUri
Needed for SAX. REW

o  externalParameterEntity: nameString id: arrayIDs
Needed for SAX. REW

o  internalGeneralEntity: nameString value: string
Needed for SAX. REW

o  internalParameterEntity: nameString value: string
Needed for SAX. REW

initialization
o  initialize
(comment from inherited method)
just to ignore initialize to objects which do not need it

namespaces
o  correctAttributeTag: attribute

o  correctTag: tag

o  findNamespace: ns

o  postProcessElement: anElement

o  resolveNamespaces: attributes

o  unresolvableNamespaceFor: aNsQualifier
if a namespace qualifier cannot be resolved

queries
o  isTreeBuilding
answer true, if our builder wants the XML parser to build
a tree of elements.
Subclasses may redefine this.



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 21 Dec 2024 11:33:47 GMT