eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'XML::Pattern':

Home

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

Class: Pattern (in XML)


Inheritance:

   Object
   |
   +--XML::Pattern
      |
      +--XML::ComplexPattern
      |
      +--XML::ConcretePattern

Package:
stx:goodies/xml/vw
Category:
XML-VW-Patterns
Version:
rev: 1.14 date: 2024/04/24 09:00:17
user: cg
file: Pattern.st directory: goodies/xml/vw
module: stx stc-classLibrary: vw

Description:


The element structure of an XML document may, for validation purposes, be constrained using element type and attribute-list declarations. An element type declaration constrains the element's content by constraining which element types can appear as children of the element.The constraint includes a content model, a simple grammar or pattern governing the allowed types of child elements and the order in which they are allowed to appear. These content models are represented by this XML.Pattern class and it's subclasses.

Constraint rules or patterns may be complex (ComplexPattern and it's subclasses) or simple (ConcretePattern and it's subclasses).
 
Subclasses must implement the following messages:
	coercing
		alternateHeads
		pushDownFollowSet
	testing
		isSimple

Instance Variables:
	followSet       <Collection>  the follow set defines which other patterns may follow this one. By means of #alternateHeads and #pushDownFollowSet, we can reduce a ComplexPattern into a graph of ConcretePatterns, always starting with an InitialPattern and terminating in a TerminalPattern.


Class protocol:

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


Instance protocol:

coercing
o  addFollow: aNode

o  addFollows: aList

o  alternateHeads

** This method must be redefined in concrete classes (subclassResponsibility) **

o  followSet

o  normalize

o  normalizeFollowSet
Modified (format): / 24-04-2024 / 11:00:10 / cg

o  pushDownFollowSet

** This method must be redefined in concrete classes (subclassResponsibility) **

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

printing
o  description

o  printOn: aStream
(comment from inherited method)
append a user printed representation of the receiver to aStream.
The format is suitable for a human - not meant to be read back.

The default here is to output the receiver's class name.
BUT: this method is heavily redefined for objects which
can print prettier.

testing
o  isEmptyPattern

o  isListPattern

o  isModifiedPattern
answer true, if this is a pattern followed by a modifier ('*', '+' or '?')

o  isOptionalPattern

o  isPCDATAPattern

o  isSimple

** This method must be redefined in concrete classes (subclassResponsibility) **



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 27 Jul 2024 13:30:44 GMT