function consume_char_data_with_entity_directives (proc_stack, decode_entities, break_on_a, break_on_b) {
  let parts = [];
  let cur_literal = "";

  while (!proc_stack.tMatches(break_on_a) &&
         (!break_on_b || !proc_stack.tMatches(break_on_b))) {
    let matched = false;

    if (proc_stack.tMatches("&zc-")) {
      if (decode_entities) {
        cur_literal = htmlEntities.decode(cur_literal);
      }
      parts.push(cur_literal);
      cur_literal = "";
      parts.push(consume_directive_entity(proc_stack));
      matched = true;
      break;
    } else {
      cur_literal += proc_stack.tAccept();
    }
  }

  if (decode_entities) {
    cur_literal = htmlEntities.decode(cur_literal);
  }
  parts.push(cur_literal);
  return parts;
}
function consume_char_data_with_entity_directives (proc_stack, decode_entities, break_on_a, break_on_b) {
  let parts = [];
  let cur_literal = "";

  while (!proc_stack.tMatches(break_on_a) &&
         (!break_on_b || !proc_stack.tMatches(break_on_b))) {
    let matched = false;

    if (proc_stack.tMatches("&zc-")) {
      if (decode_entities) {
        cur_literal = htmlEntities.decode(cur_literal);
      }
      parts.push(cur_literal);
      cur_literal = "";
      parts.push(consume_directive_entity(proc_stack));
      matched = true;
      break;
    } else {
      cur_literal += proc_stack.tAccept();
    }
  }

  if (decode_entities) {
    cur_literal = htmlEntities.decode(cur_literal);
  }
  parts.push(cur_literal);
  return parts;
}
function consume_char_data_with_entity_directives ( proc_stack , decode_entities , break_on_a , break_on_b ) { let parts = [ ] ; let cur_literal = "" ; while ( ! proc_stack . tMatches ( break_on_a ) && ( ! break_on_b || ! proc_stack . tMatches ( break_on_b ) ) ) { let matched = false ; if ( proc_stack . tMatches ( "&zc-" ) ) { if ( decode_entities ) { cur_literal = htmlEntities . decode ( cur_literal ) ; } parts . push ( cur_literal ) ; cur_literal = "" ; parts . push ( consume_directive_entity ( proc_stack ) ) ; matched = true ; break ; } else { cur_literal += proc_stack . tAccept ( ) ; } } if ( decode_entities ) { cur_literal = htmlEntities . decode ( cur_literal ) ; } parts . push ( cur_literal ) ; return parts ; }
Used to process: - directive entity argument values - directive tag argument values - attribute values
Used to process : - directive entity argument values - directive tag argument values - attribute values