carattere non valido che causa SaveInteractiveHTML () per creare un rapporto incompletoMi chiedo se ci sono alcune funzionalità esistenti per affrontare questo.
Ho JSL che sta facendo un report contenente un tabulato basato su dati interrogati da Oracle. Il rapporto sembrava buono in JMP (questo è JMP12.1), ma quando ho usato SaveInteractiveHTML () ha dato un rapporto incompleto e l'errore "... PCDATA valore carattere non valido 11 ... ". Potrei dire quale campo era il problema perché rendeva il tabulato proprio nella cella di testo che lo faceva scattare, anche se la stringa di caratteri che avrebbe dovuto essere lì non sembrava avere caratteri strani.
Ulteriore studio utilizzando ChartoHex su ogni carattere di quella stringa ha mostrato che conteneva un carattere invisibile ASCII 11 o hex "0B", apparentemente "tab verticale".
Ho aggiornato il mio script per esaminare i valori di questa particolare colonna cercando l'esistenza di questo particolare personaggio e spogliandolo. Ma presumibilmente questo è solo uno dei tanti possibili personaggi illegali che potrebbero apparire e non funzionare con l'HTML (?) E forse potrebbero apparire anche in altre colonne anche se questo sembra essere stato un fenomeno strano quindi dovrei probabilmente infallirlo contro questo su tutti i caratteri in tutti i miei rapporti HTML interattivi. Ad ogni modo, chiedendosi se c'è qualche funzione JSL esistente che pulisce le stringhe di caratteri per farle funzionare con la funzione HTML, costruendo in quali personaggi sono legali o illegali?
Ri: carattere non valido che causa SaveInteractiveHTML () per rendere un rapporto incompletoPrego. @Craige_Hales aiutato con il comando Regex. Sono contento che potremmo aiutare.
Ri: carattere non valido che causa SaveInteractiveHTML () per rendere un rapporto incompletoGrazie! Implementato quello. Sentiti meglio spogliare "tutti" i potenziali personaggi problematici.
Ri: carattere non valido che causa SaveInteractiveHTML () per rendere un rapporto incompletoIn HTML, i caratteri non stampabili con codici ascii sotto 32 o codici esadecimali da "00" a "1F" non sono validi.
Non conosco uno script JSL esistente che rimuova questi caratteri, ma la seguente formula di colonna potrebbe essere utilizzata in una nuova colonna per sostituire i caratteri non validi con caratteri di spazio da stringhe in una colonna chiamata "nome":
Regex(:name, "[\x00-\x1F]+", " ", GLOBALREPLACE)
Per favore fatemi sapere se avete bisogno di aiuto per adattare questo al vostro script.
~ John