Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

162
Views
¿Es posible ejecutar javascript desde un documento XML cargado en el navegador?

Me pregunto si hay alguna instrucción de procesamiento XML o incluso un elemento (como el elemento HTML <script> ) que atraiga a Chrome (y clones como Safari y Edge), Firefox y Opera para cargar y ejecutar javascript desde cualquier documento XML, incluso si no es HTML.

Ejemplo

 <?xml version="1.0" encoding="UTF-8"?> <?script type="text/javascript" href="xslt.js"?> <root> <foo> <bar/> </foo> </root>

Esto cargaría el documento como XML y cargaría el javascript que luego podría iniciar el resto de la representación. El javascript podría acceder al DOM XML desde la variable window.document y hacer lo que quiera, en última instancia, reemplazando el nodo raíz con un nodo html que el navegador podría procesar.

Una pregunta, muy enfocada.


Dado que la respuesta es probablemente "no", y si pregunta "¿por qué querría hacer esto?" He aquí por qué se necesita algo como esto. Y no, no se trata de preguntas adicionales, sino más bien de una justificación de por qué es necesario lo que solicito y de una reflexión sobre posibles soluciones.

Sé que XSLT en el navegador se ha desarrollado para cargar cualquier documento XML y con la instrucción de procesamiento de la hoja de estilo xml puede decirle al navegador que lo represente usando su motor XSLT incorporado. Desafortunadamente, los desarrolladores de navegadores ignoran los asombrosos poderes de XML, XSLT y XPath y están obsesionados con esta tontería de JSON. Como resultado, la función XSLTProcessor es antigua, en una versión de la edad de piedra de XSLT (1.0) e incluso con errores y sin mantenimiento. Peor aún, ha sido tan estropeado con excusas sobre "seguridad" y está programado para ser eliminado por completo del código del navegador.

Lo que esto significa es que necesitamos encontrar nuestras propias formas de hacer esto. Y eso significa que necesitamos alguna forma de incluir un código de arranque de javascript en los documentos XML, similar a la instrucción de procesamiento de hoja de estilo xsl para que podamos comenzar nuestro propio procesamiento con motores XSLT basados en javascript como Saxon-JS.

Cuando finalmente eliminen este procesador XSLT v1.0 defectuoso de su código, entonces la pregunta será, ¿qué sucedería si carga un documento XML (que no es HTML) en el navegador? ¿Qué haría el navegador con él? La representación actual como este XML bastante impreso se realiza con algún tipo de hoja de estilo predeterminada. Entonces, la pregunta es ¿cómo podría uno conectar alguna otra hoja de estilo predeterminada en la configuración del navegador?

Una forma posible de hacerlo sería crear una extensión del navegador que realmente interpretaría estas instrucciones de procesamiento cuando se carga un documento XML. Esto podría ejecutar la instrucción de procesamiento del script, pero quizás incluso mejor, solo maneje la instrucción de procesamiento a su manera.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Es probable que el elemento de secuencia de script XHTML funcione: <root><script src="foo.js" xmlns="http://www.w3.org/1999/xhtml"/>..</root> : https:/ /martin-honnen.github.io/xslt/2022/example1.xml hace, por ejemplo, <root><script src="example1.js" xmlns="http://www.w3.org/1999/xhtml"/><foo><bar>baz</bar></foo></root> donde example1.js envía el documento XML DOM a la consola en un detector de eventos adjunto al evento DOMContentLoaded . Ese es solo un ejemplo de que el archivo de script se carga y ejecuta y tiene acceso al documento XML DOM.

Un ejemplo de arranque de Saxon-JS 2 para ejecutar XSLT 3 está en https://martin-honnen.github.io/xslt/2022/example2.xml , solo usa dos elementos de secuencia de comandos XHTML, uno que carga la biblioteca Saxon-JS, el aparte de configurar el detector de eventos para aplicar una transformación de ejemplo e insertar su resultado en el documento, reemplazando el contenido del documento predeterminado.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!