XML 1.0 Fifth Edition dramatically increased the range of characters allowed in an NCName, and therefore in an ID (such as an xml:id attribute). However, libxml2 is still using the obsolete fourth edition, which means that it rejects well-formed documents. For example, the following is a well-formed document which is rejected: --- <a xml:id="_ⅰ"/> --- Because the document is erroneously considered ill-formed, xsltproc cannot process it, either. The fifth edition came out in 2008, so this is not a new phenomenon. In fact, upstream has a bug open with fixed files at https://bugzilla.gnome.org/show_bug.cgi?id=675373; a suitable patch should be applied to the Debian package. If desired, I can synthesize the files in that bug report into an actual patch, should it be applied.