anchor.diff:  %%       contained / pointed to.
   %%
   %% To do:
  -%% * add more descriptive error messages, include line number, 
  +%% * add more descriptive error messages, include line number,
   %%   tag/attribute name and value encountered
   %% * the current implementation doesn't reject all unexpected sub tags
  -%%   and attributes - they are simply ignored. A error should be 
  -%%   generated when they are encountered so that misspelt and 
  -%%   unsupported tags/attributes can be detected - this is mainly a 
  -%%   problem if scripts are hand coded or if the use extensions to 
  +%%   and attributes - they are simply ignored. A error should be
  +%%   generated when they are encountered so that misspelt and
  +%%   unsupported tags/attributes can be detected - this is mainly a
  +%%   problem if scripts are hand coded or if the use extensions to
   %%   RFC 3880
   %% - code checks if sub tags name is allowed as element of a tag
  -%% - check for otherwise as last element (if otherwise sub tag is 
  -%%   used) is done 
  -%% - checks are done for sub tags that occur multiple time when they 
  +%% - check for otherwise as last element (if otherwise sub tag is
  +%%   used) is done
  +%% - checks are done for sub tags that occur multiple time when they
   %%   should only occur 0-1 times
   %% * add time zone and summer/winter time support
   %% * there is no check for overlapping time intervals - the cost (in
  -%%   time) of this feature is high compared to gain received from 
  +%%   time) of this feature is high compared to gain received from
   %%   implementing it
  -%% * all atoms could be changed into macros so that the compiler 
  +%% * all atoms could be changed into macros so that the compiler
   %%   catches misspelt names - "undefined macro used"
   %%--------------------------------------------------------------------
   
  
positive.code:     is_otherwise_cond_last(R).
  
  %% throw a exception if a switch tag (multiple destination tag), contains
  %% multiple instances of a sub tag, that should only occur once in the 
  %% switch - e.g. "<proxy> <busy/> <busy/> </proxy>" 
  check_for_duplicates(SwitchName, Conds) ->
      SubTags = case SwitchName of
  		  proxy -> [busy, noanswer, redirection, failure, default];
  
negative.code: %%--------------------------------------------------------------------
  %% Function: parse_xml_main(CPLscript)
  %%           CPLscript = xmlElement, the toplevel tag of the xml code
  %% Descrip.: the cpl tag can contain subaction tags and a incoming
  %%           and/or outgoing tag
  %% Returns : throw() | parse_state record()
  %% Note    : CPL expects tags in order: ancillary, subaction,
  %%           incoming, outgoing - the order of incoming/outgoing isn't
  %%           clearly defined in RFC 3880 and not enforced in the code
  %% Note    : the 'ancillary' tag is ignored - it isn't defined to do
  %%           anything in RFC 3880
  %%--------------------------------------------------------------------
  parse_xml_main(#xmlElement{name = cpl} = CPLscript) ->
  