Ich frage mich, ob es einige Funktionen gibt, die sich damit befassen.
Ich habe JSL, das einen Bericht mit einer Tabelle auf der Grundlage von von Oracle abgefragten Daten erstellt. Der Bericht sah in JMP gut aus (dies ist JMP12.1), aber als ich SaveInteractiveHTML () verwendete, gab es einen unvollständigen Bericht und den Fehler "... PCDATA ungültiger Zeichenwert 11 ... ". Ich konnte erkennen, welches Feld das Problem war, weil es die Tabellierung bis zur Zelle des Textes, die es auslöste, machte, obwohl die Zeichenfolge, die dort hätte stehen sollen, keine seltsamen Zeichen zu haben schien.
Weitere Studien mit ChartoHex für jedes Zeichen dieser Zeichenfolge zeigten, dass es ein unsichtbares Zeichen ASCII 11 oder ein Hex-Zeichen "0B" enthielt, offensichtlich "vertikaler Tabulator".
Ich habe mein Skript überarbeitet, um die Werte dieser bestimmten Spalte durchzusehen, nach der Existenz dieses bestimmten Charakters zu suchen und diese zu entfernen. Aber vermutlich ist dies nur eines von vielen möglichen illegalen Zeichen, die mit HTML (?) Auftauchen könnten und nicht funktionieren könnten, und sie könnten auch in anderen Spalten auftauchen, obwohl dies anscheinend ein ungewöhnliches Vorkommnis war dies auf allen Zeichensätzen in allen meinen interaktiven HTML-Berichten. Wie auch immer, wenn Sie sich fragen, ob es einige vorhandene JSL-Funktionen gibt, die Zeichenfolgen bereinigen, damit sie mit der HTML-Funktion funktionieren können, und dabei erstellen, welche Zeichen legal oder illegal sind?
Bitte. @Craige_Hales half mit dem Regex-Befehl. Ich bin froh, dass wir helfen konnten.
Vielen Dank! Das wurde implementiert. Fühlen Sie sich besser, "alle" potenziellen Problemzeichen auszuziehen.
In HTML sind die nicht druckbaren Zeichen mit ASCII-Codes unter 32 oder Hex-Codes von "00" bis "1F" ungültig.
Ich kenne kein vorhandenes JSL-Skript, das diese Zeichen entfernen würde, aber die folgende Spaltenformel könnte in einer neuen Spalte verwendet werden, um die ungültigen Zeichen durch Leerzeichen aus Zeichenfolgen in einer Spalte mit dem Namen "name" zu ersetzen:
Regex(:name, "[\x00-\x1F]+", " ", GLOBALREPLACE)
Bitte lassen Sie mich wissen, wenn Sie Hilfe bei der Anpassung Ihres Skripts benötigen.
~ John