An extension instruction is an element, within a sequence constructor, in a namespace designated as an extension namespace. To designate a namespace as an extension namespace use the [c:]extension-element-prefixes
standard attribute, e.g.:
If you forget to designate a namespace as an extension namespace then the elements will be treated as literal result elements.
It is a compilation error to designate a reserved namespace as an extension namespace, except for extensions made available by this project.
Fallback
If you are not sure a particular extension instruction will be available you can use the c:fallback
instruction as child of the extension instruction, e.g.:
<c:template name='c:initial-template' extension-element-prefixes='eg' xmlns:eg='http://example.com/ns/foo'>
<eg:foo>
<c:fallback>
<c:message>eg:foo not available.</c:message>
<c:call-template name='fallback-foo'/>
</c:fallback>
</eg:foo>
</c:template>