¿Cómo puedo crear una etiqueta personalizada en JPMML?
-
16-10-2019 - |
Pregunta
Estoy tratando de crear un modelo de regresión logística en jpmml, a continuación, escribir el PMML en un archivo. El problema que estoy teniendo, es que no puedo encontrar ninguna manera de crear una etiqueta personalizada, como "Shortform" y "LongForm" en el siguiente ejemplo:
<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>
Esto es lo que tengo hasta ahora:
MapValues mv = new MapValues("output")
.withFieldColumnPairs(
new FieldColumnPair( new FieldName("gender"), "shortForm" )
).withInlineTable(
new InlineTable().withRows(
new Row().with???( new ??? )
)))
En resumen, estoy pidiendo una llamada API que puede utilizar para crear una instancia del elemento "Shortform" en el ejemplo, y adjuntarlo al objeto "fila". He estado por todo a través de las API, ejemplos, y Google / SO, y no puedo encontrar nada.
Gracias por su ayuda!
Solución
Se puede / debe utilizar una arquitectura genérica de Java para la aproximación (JAXB) XML.
En pocas palabras, Row#withContent(Object...)
llamada con casos de org.w3c.dom.Element
que representan el contenido XML deseada.
Por ejemplo:
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);