XML (Extensible Markup Language) 형식은 인터넷에서 널리 사용되며 XML 기반 언어는 Microsoft Office, OpenOffice, iWork 및 Google Earth와 같은 여러 도구의 기본값이되었습니다. 따라서 JMP 사용자가 다음과 같은 XML 기반 데이터를 접할 때 놀라운 일은 아닙니다.

JSL에는 "Parse XML"이라는 기능이있어 XML 데이터를 쉽게 가져올 수 있습니다. 위 XML 예에서 ONSALE은 시작 태그이고 / ONSALE은 종료 태그입니다. ONSALE 내에는 NAME 태그와 PRICE 태그가 각각 쌍으로 포함 된 두 쌍의 ITEM 태그가 있습니다. "Parse XML"을 사용하면 특정 태그를 찾아 조치를 취할 수 있습니다. 또한 작업의 타이밍을 시작 태그 또는 종료 태그 중 하나 또는 둘 다에 연결할 수 있습니다. 아래의 JSL은 "Parse XML"을 사용하여 XML 샘플에서 유용한 정보를 얻습니다.
xml_file = load text file("onsaleItems.xml");XML 구문 분석 (
xml_file,
OnElement (
"ONSALE"
태그 시작 (print ( "다음 항목은 판매 중입니다")),
),
요소 (
"목",
종료 태그 (
message = item_name || "for"|| item_price || " 파운드.";
인쇄 (메시지);
)
),
요소 (
"이름",
끝 태그 (item_name = XML 텍스트 ();)
),
요소 (
"가격",
끝 태그 (item_price = XML 텍스트 ();),
)
);
결과:
"다음 품목은 판매 중입니다."
"바나나 0.59 파운드."
"1.19 파운드의 토마토."
그 책 JSL Companion : JMP 스크립팅 언어의 응용 XML 구문 분석 및 XML 데이터를 JMP 테이블로 가져 오는 것에 대한 심층적 인 섹션이 있습니다. 저자 중 한 명인 Theresa Utlaut는 XML 구문 분석과 관련된 몇 가지 스크립트를 포함하여 "샘플 코드 및 데이터"를 공유했습니다. SAS Press 저자 웹 페이지 .
최근에 매핑 관련 추가 기능에 XML 파서를 사용했습니다. KML 다각형 가져 오기 도구 이 파일은 JMP 파일 교환에서 다운로드 할 수 있습니다 (다운로드하려면 무료 SAS 프로파일 필요). KML은 Keyhole Markup Language (키홀 마크 업 언어)의 약자입니다. Open Geospatial Consortium의 국제 표준이되었으며 매핑 도구로 점차 대중화되고 있습니다. KML은 XML 기반이기 때문에 XML 파서를 사용하여 KML 맵을 JMP 데이터 테이블로 가져올 수있었습니다.이 JML 데이터 테이블을 JMP 맵으로 표시 할 수 있습니다. 여기에 인디애나 블루밍턴 (Bloomington)의 KML 모델 JMP에 표시됩니다. 각 도형은 위에서 본 건물이며 평균 고도에 따라 음영 처리됩니다.

잔 그레그 쓴 :
XML이 블로그 주석 시스템에서 살아남지 못했습니다. 네가 가까이있는 것 같아. 도움말> 스크립팅 색인의 XML Attr () 예제로 돌아가서 한 번에 한 단계 씩 수정하여 응용 프로그램에 접근 할 수 있습니다. 도움이되지 않는 경우 JMP 커뮤니티 토론 포럼 이는 임베디드 코드를 더 잘 수용 할 수 있습니다.
크리스티안 우레아 히 에즈 쓴 :
안녕하세요, 코드에서 만든 열 L1과 L2에 "이름"과 "역"속성을 어떻게 파싱 할 수 있습니까? 나는 "string"과 "oncomplete"태그를 파싱해야한다. 그러나 속성은 없습니다.
XML 파일 및 JSL 코드 부분을 참조하십시오.
XML 부분 :
processcontentproductrebootPRETEST FLASH
JSL 코드 :
XML 구문 분석 (file_contents,
OnElement ( "processcontrol",
시작 태그 (
dt = 새 테이블 ( "ProcessMap",
새 열 ( "L1", 문자),
새 열 ( "L2", 문자),
새 열 ( "L3", 문자),
새 열 ( "Script", 문자),
); // 새 테이블 끝내기
row = 1;)), // 종료 태그 시작, processcontrol OnElement
OnElement ( "상태", 시작 태그 (행> 0, dt << 행 추가), 끝 태그 (행 ++)),
(XML Attr ( "name")); // OnElement ( "state", 시작 태그 if (행> 0, dt << 행 추가 (1), 열 (dt, "L2") [Row ()] = )), 종료 태그 (행 ++)),
// OnElement ( "station", End Tag (열 dt, "L1") [Row ()] = XMLDecode (XML 텍스트 ()))),
/ / OnElement ( "state", 시작 태그 (열 dt, "L2") [Row ()] = XML Attr ( "name"))),
// OnElement ( "name", End tag (dt, "L2") [행 ()] = XML 텍스트 ()))
OnElement ( "oncomplete", End 태그 (열 dt, "L3") [Row ()] = XML 디코드 (XML 텍스트 ()))
OnElement ( "script", End Tag (dt, "Script") [행 ()] = XML 텍스트 ()))
);