built-in data type
 A markup-region-event triggers a rule when encountered by do markup-parse in a
        markup source. It is a markup-event that includes content; the most common example is
        an element with data content. A markup-region-event can be signalled as an argument of a pair of
        catch labels:
        
 A markup region always starts with a #markup-start signal, and ends with a
        #markup-end signal. The markup-region-event argument of a pair of signals must be
         reference-equal. All data between the #markup-start and
        #markup-end signals is the markup region's content.
      
 markup-region-event is an abstract type; its subtypes are used in specific contexts. For example,
        
markup-element-event, and
          
markup-comment-event.
        
If a rule is fired from a markup region (using do markup-parse) the
        markup-region-event will be available from the rule as #current-markup-event, and the
        region's content as #content.
      
 Function wrap-content produces a new markup source from the markup source argument
          region-content and the markup-region-event argument region-boundary. The two
          arguments are combined into a new markup region, where region-content forms its content.
          
define markup source function wrap-content value markup source region-content in-region value markup-region-event region-boundary as signal throw #markup-start region-boundary output region-content signal throw #markup-end region-boundary ; This process rule prepares a markup-region-event for wrapping content. global markup-region-event root-element process using group "capture root element" do xml-parse scan "<wrapper/>" suppress done ; This process rule demonstrates a use of wrap-content process do xml-parse scan #main-input using group "process wrapped document" do markup-parse wrap-content #content in-region root-element output "%c" done done group "capture root element" element #implied set root-element to #current-markup-event suppress group "process wrapped document" element #implied output "<%q>%c></%q>%n"