blockly > utils > xml

Espace de noms utils.xml

distantes

Fonction Description
createElement(tagName) Création d'un élément DOM pour XML
createTextNode(text) Créer un élément textuel pour XML.
domToText(dom)

Convertit une structure DOM en texte brut. Actuellement, le format du texte est plutôt moche: une ligne sans espace blanc.

Les caractères de contrôle sont échappés à l'aide de leur encodage décimal. Cela inclut les caractères U+0000, même s'il ne s'agit techniquement jamais d'un caractère XML valide (même en XML 1.1). https://www.w3.org/TR/xml11/#charsets

Une fois décodé, U+0000 est analysé comme U+FFFD (le "caractère de remplacement").

injectDependencies(dependencies)

Injectez des implémentations de document, DOMParser et/ou XMLSerializer à utiliser à la place des implémentations par défaut.

Utilisé par le wrapper Node.js pour Blockly (voir scripts/package/node/core.js) afin de fournir des implémentations à partir du package jsdom à la place.

Bien qu'ils puissent être définis individuellement, ils proviennent généralement de la même instance JSDOM. Ils DOIVENT au moins provenir de la même copie du package jsdom. Il est généralement difficile d'éviter de remplir cette condition, mais elle peut être enfreinte par inadvertance en utilisant webpack pour créer plusieurs bundles contenant Blockly et jsdom, puis en en chargeant plusieurs dans le même environnement d'exécution JavaScript. Pour savoir comment cela s'est produit, consultez https://github.com/google/blockly-samples/pull/1452#issuecomment-1364442135.)

texteToDom(texte)

Convertit une chaîne XML en une structure DOM.

Les caractères de contrôle doivent être échappés. Toutefois, nous nous efforcerons d'analyser au mieux les caractères non échappés.

Notez que, même avec un caractère d'échappement, U+0000 est analysé comme U+FFFD (le "caractère de remplacement"), car U+0000 n'est jamais un caractère XML valide (même en XML 1.1). https://www.w3.org/TR/xml11/#charsets

Variables

Variable Description
NAME_SPACE Espace de noms pour le fichier XML de Blockly.