external-entity-resolver

function

Library: Markup utilities (OMMARKUPUTILITIES)
Import : ommarkuputilities.xmd

Returns: markup sink for the entity references to be resolved


Declaration
export dynamic markup sink function
   external-entity-resolver via value entity-resolver resolver
    


Purpose

The markup sink function external-entity-resolver resolves all external entity reference events written to it, and feeds their resolved values to the parser. This function is dynamic and can be overridden. It will throw resolution-failure if it cannot resolve an entity.

Example

The following example uses split-external-text-entities to direct all entity references to external-entity-resolver and all other markup events to the function worker.

  import "ommarkuputilities.xmd" unprefixed
  
  define markup sink function
     worker
  as
     using output as #main-output
     do markup-parse #current-input
        output "%c"
     done
  
  process
     do xml-parse document scan #main-input
        using output as split-external-text-entities (external-entity-resolver via new entity-resolver {},
                                                      worker)
           output #content
     done