The key thing to remember is that disable-output-escaping is an instruction to the serializer, and it has no effect unless the XSLT processor is serializing the output. The most common reason for it "not working" is that the transformation output is going to a destination other than the serializer (for example, a DOM tree). So we need to know how you are running the transformation.
Also related to this, there have been changes to the spec regarding what happens if you use disable-output-escaping while writing to a temporary tree (that is, to a variable).
Processors are allowed to ignore disable-output-escaping entirely, but Saxon doesn't do that, except of course when the output isn't serialized. (That's because "escaping" is a serialization thing, and if you're not serializing, then you're not escaping anything, so there is nothing to disable).
disable-output-escaping="yes"
. You will really need to show us more details on how you use Saxon when you say disable-output-escaping is ignored. Make sure Saxon is in charge of serializing the XSLT result, don't expect a tree/node destination to contain the nodes.disable-output-escaping
happens only during serialization. – Martin Honnende
elements into nodes you can copy through to the output, even an output tree: xsltfiddle.liberty-development.net/bEzkTdk/1 – Martin Honnen