XML 컨텐츠 모델

XML 컨텐츠 모델은 XML 기반 컨텐츠에 대한 액세스를 제공합니다.

XML 컨텐츠 모델은 XPath 표현식에 기반한 구성요소에 액세스하는 기능을 지원합니다. XPath 표현식은 호출자에게 필요한 요소 및 속성을 정의하는 문자열입니다. XML 컨텐츠 모델은 다양한 오브젝트 구성 및 일반적으로 XPath 지원에서 필요한 표현식 컴파일의 세부사항을 숨깁니다. Python 스크립팅에서 호출하는 것이 더 간단합니다.

XML 콘텐츠 모델에는 XML 문서를 문자열로 반환하는 함수가 포함되어 있으므로, Python 스크립트 사용자는 선호하는 Python 라이브러리를 사용하여 XML을 파싱할 수 있습니다.

표 1. XML 콘텐츠 모델을 위한 방법
방법 리턴 유형 설명
getXMLAsString() String XML을 문자열로서 리턴합니다.
getNumericValue(String xpath) number 수치의 리턴 유형을 갖는 경로 평가의 결과를 리턴합니다(예를 들어, 경로 표현식과 매치하는 요소의 수를 셈).
getBooleanValue(String xpath) boolean 지정된 경로 표현식 평가의 부울 결과를 리턴합니다.
getStringValue(String xpath, String attribute) String 지정된 경로와 매치하는 속성 값 또는 XML 노드 값을 리턴합니다.
getStringValues(String xpath, String attribute) List of strings 지정된 경로와 매치하는 모든 속성값 또는 XML 노드 값의 목록을 리턴합니다.
getValuesList(String xpath, <List of strings> attributes, boolean includeValue) List of lists of strings 지정된 경로와 매치하는 모든 속성 값의 목록을 XML 노드 값(필요한 경우)과 함께 리턴합니다.
getValuesMap(String xpath, String keyAttribute, <List of strings> attributes, boolean includeValue) Hash table (key:string, value:list of string) 키 속성이나 XML 노드 값을 키로, 지정된 속성 값의 목록을 테이블 값으로 사용하는 해시 테이블을 리턴합니다.
isNamespaceAware() boolean XML 구문 분석기가 네임스페이스를 인식해야 하는지 여부를 리턴합니다. 기본값은 False입니다.
setNamespaceAware(boolean value) void XML 구문 분석기가 네임스페이스를 인식해야 하는지 여부를 설정합니다. 이는 또한 후속 호출에 의해 변경사항이 선택되도록 하기 위해 reset()을(를) 호출합니다.
reset() void 이 컨텐츠 모델과 연관된 모든 내부 저장 공간(예: 캐싱된 DOM 오브젝트)을 비웁니다.

노드와 출력

이 테이블은 이 유형의 콘텐츠 모델을 포함하는 출력을 생성하는 노드들을 나열합니다.

표 2. 노드와 출력
노드 이름 출력 이름 컨테이너 ID
Most model builders Most generated models "PMML"
"autodataprep" n/a "PMML"

예제 스크립트

컨텐츠에 액세스하기 위한 Python 스크립팅 코드는 다음과 유사할 수 있습니다.

results = []
modelbuilder.run(results)
modeloutput = results[0]
cm = modeloutput.getContentModel("PMML")

dataFieldNames = cm.getStringValues("/PMML/DataDictionary/DataField", "name")
predictedNames = cm.getStringValues("//MiningSchema/MiningField[@usageType='predicted']", "name")