Proponen eliminar las menciones a XSLT de la especificación HTML
(github.com/whatwg)- Se ha propuesto un Pull Request para eliminar las menciones relacionadas con XSLT del documento del estándar HTML
- El autor de la propuesta explica que se han reportado bugs de implementación relacionados en los principales navegadores, como Chrome, Firefox y Safari, y que también hay temas pendientes de pruebas y documentación
- Las opiniones en contra señalan problemas de compatibilidad con sitios web existentes y un problema de legibilidad por el cual los documentos XML podrían romperse al eliminar
<?xml-stylesheet?> - Algunos desarrolladores enfatizan que XSLT todavía se usa en documentos gubernamentales, RSS y entornos embebidos
- También se plantea la preocupación de que decisiones centradas en grandes vendors de navegadores puedan llevar a una reducción de la apertura de la web y de su diversidad histórica
Resumen del Pull Request
- Título del PR: Remove mentions of XSLT from the html spec
- Autor: mfreed7
- Destino: whatwg/html:main
- Issue relacionado: #11523
- Existen reportes de bugs de implementación relacionados en Chromium, Gecko y WebKit
- Está previsto actualizar materiales relacionados como la documentación de MDN y HTML AAM
Principales opiniones en contra
gucci-on-fleek (2025-08-15)
- Sostiene que deben considerarse las estadísticas de uso y el tamaño de los sitios web
- Los sitios grandes pueden actualizarse, pero los sitios pequeños o personales muchas veces no se mantienen desde hace décadas, lo que genera preocupación por una ruptura permanente de compatibilidad
- Eliminar
XSLTProcessor()solo limitaría una función de JS, pero quitar<?xml-stylesheet?>provocaría que los documentos XML ni siquiera se muestren - Señala que funciones HTML antiguas (
<font>,<align>,<xmp>) siguen funcionando, mientras que este sería un cambio sin precedentes que rompe el documento mismo - Destaca el riesgo de bloquear el acceso a materiales importantes como archivos antiguos y sitios universitarios
nomis (2025-08-18)
- Presenta ejemplos concretos de uso de XSLT
- Casos de uso personales
- Transformar datos XML complejos en tablas HTML
- Convertir XML dinámico a XSLT estático en microcontroladores con limitaciones de memoria
- Critica que un polyfill de JS que incluya libxml2 completo es poco realista, y que quitar el soporte del navegador equivale en la práctica a forzar su reimplementación
jonsterling (2025-08-18)
- Critica la realidad en la que los vendors de navegadores definen de forma casi exclusiva la plataforma web
- Advierte que XSLT todavía contribuye a usos diversos y creativos de la web, y que eliminarlo debilitaría la Web Abierta
- Enfatiza el principio de que "la web es de todos" y sostiene que es necesario respetar su historia y diversidad
Apoyos y acciones de seguimiento
- domenic (2025-08-19): respondió positivamente y señaló la necesidad de actualizar también las menciones a XSLT en la especificación DOM
- mfreed7 (2025-08-19): respondió que enviará un PR separado también para la especificación DOM
Resumen
- La eliminación de XSLT es un cambio propuesto como parte de los esfuerzos por simplificar y modernizar los navegadores
- Sin embargo, quienes se oponen temen daños a la compatibilidad de documentos existentes, el acceso a datos gubernamentales y académicos, y la diversidad de la web abierta
- Esta discusión va más allá de una simple elección técnica y se está extendiendo a un debate filosófico sobre quién tiene la autoridad para decidir los estándares web
1 comentarios
Comentarios en Hacker News
Hay varios puntos llamativos
Esta decisión no es una acción unilateral de Chrome; en el seguimiento del issue y en las actas de reuniones de estándares relacionadas se puede confirmar que representantes de todos los navegadores principales expresaron su apoyo
La propuesta más reciente también fue hecha por un ingeniero de Mozilla
Que se haya enviado el PR no significa que se vaya a fusionar de inmediato; todavía quedan bastantes tareas sin resolver
Pero, dado que varios proveedores de navegadores están de acuerdo, es probable que se fusione
El issue sobre si se debe eliminar XSLT de la plataforma web no es para recopilar opiniones de la comunidad, sino un hilo de discusión para quienes mantienen la especificación HTML
Ese issue lo abrió un ingeniero de Chrome, pero los ingenieros de Mozilla ya habían planteado este tema varias veces en reuniones, y lo importante es que ya existía consenso entre los vendors
Ya se descubrió una vulnerabilidad de seguridad grave
El maintainer principal de libxslt incluso renunció personalmente
Quité la palabra Chrome del título
El título enviado originalmente era "Chrome intends to remove XSLT from the HTML spec"
Según los datos de telemetría de Chrome, casi no hay sitios web que realmente usen XSLT
Al menos los datos permiten confirmar que la propuesta no tendría un gran impacto en toda la web
Soy un desarrollador que trabajó antes en Mozilla y Google (equipo de Chrome)
Entiendo que Chrome/Blink, Safari/Webkit y Firefox/Gecko apoyan eliminar XSLT, pero dos de esos proyectos tienen falta de recursos, y uno de ellos tiene una fuerte tendencia a meter funciones nuevas a la fuerza
También hay motivos por los que desarrolladores de Safari y Firefox podrían ver con buenos ojos este cambio
Lo importante no es si “personas con autoridad creen que es una buena idea”, sino si “esta idea tendrá un impacto negativo en la plataforma web y en miles de millones de usuarios”
Incluso si solo el 0.1% de miles de millones depende de ello, sigue siendo una escala considerable
Si nadie lo usa, tampoco habría motivo para que exista un polyfill
No es deseable plantearlo como un juego de suma cero en el que, para agregar una función nueva, necesariamente haya que quitar una existente
Google está eligiendo deliberadamente no dar soporte a XSLT, a pesar de tener capital y personal suficientes
A menudo ha habido casos en los que algo se impulsa de inmediato porque varios vendors están de acuerdo
Así pasó con la eliminación de confirm/prompt, pero al final quedó pospuesta indefinidamente
En Google existe un documento formal del proceso para retirar funciones
Google feature removal doc
El “apoyo unilateral de los vendors” no revisó adecuadamente el uso real
Por los dos hilos que leí, Google pidió feedback, pero casi todo el feedback fue “no lo hagan”
Aun así, la respuesta de Google fue algo como: “gracias por sus opiniones, ¡igual lo vamos a hacer!”
Si el tema era seguridad, había muchas alternativas: financiar el proyecto open source, cambiar a una librería más segura o mantenerlo dentro de un sandbox de JS, pero casi todas fueron ignoradas
También hubo solicitudes constantes para soportar versiones modernas como XSLT 3.0, pero no se reflejaron
Aunque XSLT es una tecnología que respalda la web abierta, Google lleva 10 años reduciendo su soporte y dejándola abandonada, y ahora sigue intentando eliminarla citando su baja adopción
Justo cuando XSLT está recuperando popularidad, da la impresión de que quieren matarlo antes de que aparezcan competidores abiertos
Issue relacionado
Sobre la afirmación de que mucho del feedback era “no lo hagan”, ese hilo se cerró temprano por comentarios de mala fe, ataques personales y similares
Los comentarios del tipo “esto es una buena idea” normalmente no se publican tanto, así que puede parecer que solo hay oposición
Todo el mundo terminó usando un tono extremo y por eso la discusión se cortó; se lo buscaron ellos mismos
Si las opiniones de “por favor no lo hagan” no vienen de usuarios reales o no pueden explicar por qué es indispensable, es razonable que el equipo de desarrollo las ignore
Pedir feedback no es una simple votación a favor o en contra
Estaría bien si se pudiera trasladar el soporte de XSLT 3.0 a un sandbox de JS/wasm
Habría una pequeña pérdida de rendimiento, pero se podrían aprovechar las ventajas de ambos lados
XML, por sus características como esquemas versionados y namespaces, resulta relativamente fácil de integrar
A diferencia de frameworks de JS como Angular, permite contratos de datos muy confiables
Gracias a la madurez de la familia XML, hay muchas herramientas especializadas, así que en la práctica ni siquiera hace falta manipular XML/XSD directamente como texto
Google usa la forma de “hacer preguntas” para avisar de antemano qué va a pasar en la web
Presentación de hilos anteriores relacionados
Hilo sobre el tema de eliminar XSLT
XSLT - un sistema de build nativo y de configuración cero para la web
También hay otro hilo marcado por flags debido a este tema
Google is killing the open web, today
Me pregunto si realmente hace falta que el navegador tenga soporte integrado para un motor de plantillas específico (XSLT)
No es un motor de texto como Jinja, y también se podría reimplementar en JS/wasm
Hoy los navegadores son demasiado pesados, y desarrollar motores nuevos es difícil
Ojalá existiera un estándar más simple para un “navegador mínimo” con solo lo esencial, como etiquetas básicas y layout
WebAudio, Canvas y similares también podrían implementarse como módulos wasm (y así además se podría evitar el fingerprinting)
XSLT es una “spec” para un motor de plantillas, no un motor específico; existen varias implementaciones
Mozilla usa transformiix en lugar de libxslt
Jinja trabaja solo con texto, mientras que XSLT opera a nivel de nodos y es muy superior en eso
Las transformaciones en JS son mucho más lentas que las transformaciones nativas con XSLT, y además es más difícil cachear resultados
Entiendo la percepción de que XSLT es anticuado, pero durante los últimos 20 años ha sido un arma secreta en términos de rendimiento
Al final, es muy probable que Google intente tapar el problema con una alternativa como AMP
Los navegadores son pesados por culpa de Google
XSLT es el lenguaje (la spec), no el motor
Cambiar la implementación a JS/wasm es un asunto de implementación interna, no lo que ocurre cuando se elimina el lenguaje de la plataforma web
Audio o canvas son funciones fundamentales de I/O del navegador; moverlas a wasm causaría problemas serios de rendimiento y compatibilidad
Tal vez parte del audio podría llevarse a un blob wasm, pero moverlo todo sería difícil
El contexto de canvas o WebGL depende de la integración directa con la GPU, así que no se puede materializar en wasm
Al final estas funciones ya son, en la práctica, APIs primitivas básicas, así que no son negociables
También se discutió la idea de empaquetar código XSLT antiguo en wasm para mantener compatibilidad sin romper sitios viejos
De hecho se evaluó internamente, pero se decidió no hacerlo
Creo que funciones muy poco usadas y alejadas del uso común de la web sí pueden ser candidatas a eliminación
Pero no estoy de acuerdo con usar vulnerabilidades de seguridad como justificación
Sin siquiera verificar si existe un paquete memory-safe, el argumento pierde fuerza
Hay quien afirma que la tasa real de uso está en el 0.001%
Romper la promesa básica de la spec de HTML es un asunto muy serio
Sorprende incluso que la discusión no profundice más en ese punto
HTML era la promesa de “esto es HTML, puedes confiar en ello”, pero ahora pasa a ser “es HTML por ahora, no hay garantía de que siga siéndolo en el futuro”
Si se aplica la lógica para eliminar XSLT, otras tecnologías antiguas también podrían seguir siendo recortadas
Al final, es una propuesta para cortar la “long tail” de la web
También hay que pensar que muchas tecnologías web añadidas después acabarán convirtiéndose en otra long tail y generarán más candidatos a eliminación
En cuanto al soporte para medios y software antiguos, creo que en algún momento habrá que resolverlo con portabilidad, emulación, archivado y similares
Hace falta un equilibrio entre dar suficiente tiempo y herramientas para adaptarse, y evitar la acumulación gradual de complejidad
Si se ve lo que realmente se eliminó en el PR, no parece haber una norma explícita en HTML que exija soporte para XSLT
Más bien lo que hay es una fuerte reacción al tema del soporte del navegador
El PR en sí es sorprendentemente corto
Al definir WHATWG a HTML como un “Living Standard”, en la práctica ya no funciona como un estándar de implementación, sino como una forma de compartir el estado actual de lo que los vendors de navegadores están construyendo
Por eso también se eliminó la nomenclatura de versiones como HTML5 y se dejó únicamente “HTML”
Living Standard FAQ
HTML standard FAQ
Irónicamente, uno de los principales responsables de meter una enorme cantidad de funciones en las specs de HTML/CSS/navegadores ha sido justamente Google
Si Google hubiera defendido consistentemente que “los navegadores deben ser livianos y las cosas raras deben delegarse a librerías de JS”, esta medida podría entenderse; pero claramente no es el caso
Desde que se eliminó el soporte para FTP, el destino de XSL ya estaba prácticamente anunciado
Los navegadores tienden a priorizar por encima de todo la reducción de la superficie de ataque
Me da la impresión de que los siguientes candidatos a eliminación podrían ser atributos de animación SVG SMIL, MathML y otras funciones relacionadas con XML
Hilo relacionado
SMIL permite controlar animaciones secuenciales en función de tiempos específicos de inicio y fin, algo que las animaciones CSS todavía no cubren bien
En CSS no hay otra forma más que usar cálculos para el timing
Chromium incluso expresó en algún momento su intención de eliminar SMIL, pero fue demasiado apresurado porque CSS todavía no era suficiente
Como consecuencia, varios documentos y guías relacionados con SMIL quedaron abandonados sin actualizarse
Me gustaría cuestionar si reducir la superficie de ataque realmente es algo bueno o malo
Los ingenieros y los usuarios comunes tienen prioridades distintas
Me pregunto cuándo se eliminó exactamente la función FTP
Según entiendo, todavía se puede acceder a
ftp://desde la barra de direccionesLas implementaciones de XSLT en Blink y WebKit son muy ineficientes
Lamento esta decisión, pero me entristece aún más que no se haya invertido en una integración más moderna de XSLT
Su uso era incómodo, pero si hubiera evolucionado un poco más dentro del navegador, podría haberse convertido en un competidor de frameworks como React
XML, sin toda la complejidad corporativa que lo rodeó, era una tecnología y un estándar realmente potentes y elegantes
Me encantaba usar XSLT para transformar directamente xml/datos pequeños y simples a html
Da pena pensar que, con solo una pequeña función adicional para mostrar distinto los elementos seleccionados, habría podido servir para muchos usos, incluso en documentos estáticos
Dicen que @whatwg bloqueó ese issue solo para colaboradores alegando que la discusión “se calentó demasiado”
A simple vista parecía bastante razonable y tranquila, así que uno se pregunta si el criterio de “acalorado” cambia según si favorece a cierto vendor o no
La expresión “se calentó demasiado” a menudo se interpreta como que no quieren lidiar con opiniones contrarias
Pasa lo mismo en otras comunidades como Reddit
De hecho, el único comentario que quedó debajo fue uno de un desarrollador de Google Chrome diciendo “buen trabajo”
Da una impresión un poco incómoda
Se mencionó que en el issue tracker se acumularon insultos, teorías conspirativas y mensajes políticos usados para cuestionar el problema
En esas condiciones se vuelve imposible tener una discusión productiva, y los mantenedores del repositorio no tienen más remedio que frenarla rápido
Escuché que en realidad quien bloqueó la discusión en ese repositorio fue un empleado de Apple
Pero la gente termina atribuyéndoselo al empleado de Google que planteó el issue
Últimamente Google ha promovido discusiones abiertas diciendo que quiere escuchar a la comunidad, pero después intenta seguir adelante ignorando todas las opiniones
Issue relacionado
Hace falta una reflexión más amplia sobre los elementos web heredados
En mi caso, sigo obteniendo mucho valor de que páginas web antiguas continúen funcionando bien
Gracias a que HTML/JS han mantenido la compatibilidad, incluso páginas de hace décadas siguen funcionando bien si solo se les agrega un certificado TLS
Pero tampoco es posible soportar para siempre todas las tecnologías heredadas
Al final, con Flash se terminó pasando a emuladores como Ruffle para revivir juegos o sitios antiguos
A largo plazo, usar navegadores o emuladores especializados en renderizado antiguo también podría ser una alternativa
Ya apareció una extensión polyfill de XSLT para esto
Chrome no quiere distribuirla oficialmente ni encargarse de su mantenimiento
Es una situación muy similar a la de Ruffle