Il formato XML (Extensible Markup Language) è ampiamente utilizzato su Internet e le lingue basate su XML sono diventate l'impostazione predefinita per molti strumenti, come Microsoft Office, OpenOffice, iWork e Google Earth. Quindi non sorprende che gli utenti JMP incontrino dati basati su XML come questo:

JSL ha una funzione chiamata "Parse XML" per facilitare l'importazione dei dati XML. Nell'esempio XML sopra riportato, ONSALE è un tag iniziale e / ONSALE è un tag finale. Esistono due coppie di tag ITEM all'interno di ONSALE, ciascuna contenente una coppia di tag NAME e tag PREZZO. Utilizzando "Parse XML", puoi cercare determinati tag e agire. Inoltre, puoi legare i tempi dell'azione al tag di inizio o al tag di fine, o entrambi. Il JSL sotto utilizza "Parse XML" per ottenere le informazioni utili dall'esempio XML.
xml_file = load text file("onsaleItems.xml");Parse XML (
file_xml,
OnElement (
"IN VENDITA",
Start Tag (stampa ("I seguenti articoli sono in vendita")),
),
On Element (
"ARTICOLO",
Tag di fine (
messaggio = nome_oggetto || "per" || item_price || " una sterlina.";
stampa (messaggio);
)
),
On Element (
"NOME",
End Tag (item_name = XML Text ();),
),
On Element (
"PREZZO",
Tag finale (item_price = XML Text ();),
)
);
Risultato:
"I seguenti articoli sono in vendita"
"Banana per 0,59 sterline".
"Pomodoro per 1,19 sterline".
Il libro JSL Companion: Applicazione del linguaggio di scripting JMP ha una sezione approfondita sull'analisi e l'importazione XML dei dati XML nella tabella JMP. Uno degli autori, Theresa Utlaut, ha condiviso "Codice di esempio e dati", inclusi diversi script sull'analisi XML su di lei Pagina Web dell'autore di SAS Press .
Recentemente ho usato il parser XML per un componente aggiuntivo relativo alla mappatura, il KML Polygon Importer , che è possibile scaricare da Scambio file JMP (il download richiede un profilo SAS gratuito). KML è l'acronimo di Keyhole Markup Language. È diventato uno standard internazionale dell'Open Geospatial Consortium e sta diventando sempre più popolare come strumento di mappatura. Poiché KML è basato su XML, sono stato in grado di utilizzare il parser XML per importare le mappe KML in tabelle di dati JMP, che possono quindi essere visualizzate come mappe JMP. Ecco un Modello KML di Bloomington, Indiana, viene visualizzato in JMP. Ogni forma è un edificio visto dall'alto e ombreggiato in base alla sua altitudine media.

Xan Gregg ha scritto:
Il tuo XML non è sopravvissuto al sistema di commenti del blog. Sembra che tu sia vicino, però. È possibile tornare all'esempio XML Attr () in Guida> Indice di scripting e modificare un passaggio alla volta per accedere all'applicazione. Se ciò non aiuta, prova il Forum di discussione della comunità JMP , che può ospitare meglio il codice incorporato.
Cristian Ureña Hdz ha scritto:
Ciao, come posso analizzare gli attributi "nome" e "stazione" nelle colonne L1 e L2 che ho creato nel codice? Ho dovuto analizzare i tag "string" e "oncomplete" ... ma non gli attributi.
Vedi porzione di file XML e codice JSL.
Porzione XML:
processcontentproductrebootPRETEST FLASH
Codice JSL:
Parse XML (file_contents,
OnElement ( "ProcessControl",
Inizia tag (
dt = New Table ("ProcessMap",
Nuova colonna ("L1", carattere),
Nuova colonna ("L2", carattere),
Nuova colonna ("L3", carattere),
Nuova colonna ("Script", carattere),
); // fine Nuova tabella
row = 1;)), // end Start Tag, processcontrol OnElement
OnElement ("stato", Start Tag (if (row> 0, dt << Add Rows (1));), End Tag (row ++;)),
// OnElement ("stato", Start tag (if (row> 0, dt << Aggiungi righe (1), colonna (dt, "L2") [Row ()] = Parse (XML Attr ("nome")) )), End Tag (row ++;)),
// OnElement ("station", End Tag (colonna (dt, "L1") [Row ()] = XMLDecode (testo XML ()))),
// OnElement ("stato", Start Tag (colonna (dt, "L2") [Row ()] = XML Attr ("nome"))),
// OnElement ("nome", End Tag (colonna (dt, "L2") [Row ()] = XML text ())),
OnElement ("oncomplete", End Tag (colonna (dt, "L3") [Row ()] = XML Decode (testo XML ()))),
OnElement ("script", End Tag (colonna (dt, "Script") [Row ()] = XML text ()))
);