<ZOTEROBREAK/> produces <br/>, <ZOTEROHELLIP/> produces …, and <ZOTERO[something else]/> emits the [something else] (<ZOTERO<A>/> -> <A>).
BREAK seems like unexpected behavior - I would think that htmlSpecialChars() shouldn't be emitting anything parsable as a tag. HELLIP can be replaced with Unicode. The fallback case doesn't seem useful. I can't find a single use of any of them.
Remove?