Abschnitt 14 der XSLT-Spezifikation legt fest, dass es sowohl Erweiterungselemente als auch -funktionen geben kann. Wie Sie in dem gerade erwähnten Kapitel 11 sehen werden, machen diejenigen, die XSLT implementieren, davon auch Gebrauch. Der Nachteil solcher Erweiterungen muss sein, dass Anwendungen zwischen unterschiedlichen Werkzeugen nicht unbedingt hin und her wechseln können. Innerhalb der Spezifikation ist vorgesehen, wie ein Stylesheet prüfen kann, ob bestimmte Erweiterungen vorhanden sind und was zu geschehen hat, falls das nicht der Fall ist.
So ist sowohl für Erweiterungslemente als auch für -funktionen eine boolsche Funktion vorgesehen, die ihr Vorhandensein abfragt: element-available und function-available. Über xsl:choose ließe sich abfragen, ob ein Element vorhanden ist, und je nachdem, ob die Funktion wahr oder falsch zurückliefert, im Stylesheet weiter verfahren.