Javaでorg.w3c.dom.Documentを使用し、EntityReferenceノードを挿入しています。これらはOKで追加されますが、javax.xml.transform.Transformerによって削除されます。このコードは私が何を意味するかを説明しています:
    DOMImplementation dmi = DOMImplementationRegistry.newInstance().getDOMImplementation("");
    Document doc = dmi.createDocument(null, "html", null);
    doc.getDocumentElement().appendChild(doc.createTextNode("AT"));
    doc.getDocumentElement().appendChild(doc.createEntityReference("amp"));
    doc.getDocumentElement().appendChild(doc.createTextNode("T"));
    Transformer tr = TransformerFactory.newInstance().newTransformer();
    tr.setOutputProperty(OutputKeys.METHOD, "html");
    tr.transform(new DOMSource(doc), new StreamResult(System.out));
これの出力は
<html>ATT</html>
そして私は欲しい
<html>AT&T</html>
doc.createTextNode("AT&T")直接行うと「&」がエスケープされることを知っているので、
- EntityReferencesを保持する、または
- 定義されたエンティティを調べてみましょう、または
- EntityReferenceの子としてエンティティのテキストを入力します。
次のようなインターフェイスを実装する必要があるため、エンティティ参照名を処理する必要があります
interface Xxx {
 void addText(String text);
 void addEntity(String entName);
 ...
}