use of uk.ac.ed.ph.jqtiplus.value.RecordValue in project openolat by klemens.
the class QTI21ServiceImpl method stringifyQtiValue.
private String stringifyQtiValue(final Value value) {
if (qtiModule.isMathAssessExtensionEnabled() && GlueValueBinder.isMathsContentRecord(value)) {
/* This is a special MathAssess "Maths Content" variable. In this case, we'll record
* just the ASCIIMath input form or the Maxima form, if either are available.
*/
final RecordValue mathsValue = (RecordValue) value;
final SingleValue asciiMathInput = mathsValue.get(MathAssessConstants.FIELD_CANDIDATE_INPUT_IDENTIFIER);
if (asciiMathInput != null) {
return "ASCIIMath[" + asciiMathInput.toQtiString() + "]";
}
final SingleValue maximaForm = mathsValue.get(MathAssessConstants.FIELD_MAXIMA_IDENTIFIER);
if (maximaForm != null) {
return "Maxima[" + maximaForm.toQtiString() + "]";
}
}
/* Just convert to QTI string in the usual way */
return value.toQtiString();
}
use of uk.ac.ed.ph.jqtiplus.value.RecordValue in project openolat by klemens.
the class AssessmentRenderFunctions method extractRecordFieldValue.
/*
<xsl:function name="qw:extract-record-field-value" as="xs:string?">
<xsl:param name="valueHolder" as="element()"/>
<xsl:param name="fieldName" as="xs:string"/>
<xsl:choose>
<xsl:when test="qw:is-record-cardinality-value($valueHolder)">
<xsl:value-of select="$valueHolder/qw:value[@fieldIdentifier=$fieldName]"/>
</xsl:when>
<xsl:otherwise>
<xsl:message terminate="yes">
Expected value <xsl:copy-of select="$valueHolder"/> to have record
cardinalty.
</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:function>
*/
public static SingleValue extractRecordFieldValue(Value value, Identifier identifier) {
SingleValue mappedValue = null;
if (value != null && identifier != null && value.hasCardinality(Cardinality.RECORD)) {
RecordValue recordValue = (RecordValue) value;
mappedValue = recordValue.get(identifier);
}
return mappedValue;
}
Aggregations