Как я могу создать пользовательский тег в JPMML?
-
16-10-2019 - |
Вопрос
Я пытаюсь создать модель логистической регрессии в JPMML, а затем записать PMML в файл. Проблема, которую я столкнулся, заключается в том, что я не могу найти способ создать пользовательский тег, такой как «короткая форма» и «Longform» в следующем примере:
<MapValues outputColumn="longForm">
<FieldColumnPair field="gender" column="shortForm"/>
<InlineTable>
<row><shortForm>m</shortForm><longForm>male</longForm>
</row>
<row><shortForm>f</shortForm><longForm>female</longForm>
</row>
</InlineTable>
</MapValues>
Вот что у меня есть до сих пор:
MapValues mv = new MapValues("output")
.withFieldColumnPairs(
new FieldColumnPair( new FieldName("gender"), "shortForm" )
).withInlineTable(
new InlineTable().withRows(
new Row().with???( new ??? )
)))
Короче говоря, я прошу провести звонок API, который я могу использовать, чтобы создать экземпляр элемента «кратко» в примере и прикрепить его к объекту «строки». Я был на всех API, примерах и Google/So, и не могу найти ничего.
Спасибо за вашу помощь!
Решение
Вы можете/должны использовать общую архитектуру Java для подхода к привязке XML (JAXB).
Проще говоря, позвоните Row#withContent(Object...)
с случаями org.w3c.dom.Element
которые представляют желаемое содержание XML.
Например:
Document document = documentBuilder.newDocument();
Element shortForm = document.createElement("shortForm");
shortForm.setTextContent("m");
Element longForm = document.createElement("longForm");
longForm.setTextContent("male");
row = row.withContent(shortForm, longForm);