hibernate/hibernate-orm · error · FunctionArgumentException

Invalid XML element name passed to 'xmlelement()': %s

Error message

Invalid XML element name passed to 'xmlelement()': %s

What it means

Error "Invalid XML element name passed to 'xmlelement()': %s" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/dialect/function/xml/XmlElementFunction.java:59

public class XmlElementFunction extends AbstractSqmSelfRenderingFunctionDescriptor {

	public XmlElementFunction(TypeConfiguration typeConfiguration) {
		super(
				"xmlelement",
				FunctionKind.NORMAL,
				StandardArgumentsValidators.composite(
						new ArgumentTypesValidator( StandardArgumentsValidators.min( 1 ), STRING ),
						new ArgumentsValidator() {
							@Override
							public void validate(
									List<? extends SqmTypedNode<?>> arguments,
									String functionName,
									BindingContext bindingContext) {
								//noinspection unchecked
								final var literal = (SqmLiteral<String>) arguments.get( 0 );
								final String elementName = literal.getLiteralValue();
								if ( !XmlHelper.isValidXmlName( elementName ) ) {
									throw new FunctionArgumentException(
											String.format(
													"Invalid XML element name passed to 'xmlelement()': %s",
													elementName
											)
									);
								}
								if ( arguments.size() > 1
										&& arguments.get( 1 ) instanceof SqmXmlAttributesExpression attributesExpression ) {
									for ( var entry : attributesExpression.getAttributes().entrySet() ) {
										if ( !XmlHelper.isValidXmlName( entry.getKey() ) ) {
											throw new FunctionArgumentException(
													String.format(
															"Invalid XML attribute name passed to 'xmlattributes()': %s",
															entry.getKey()
													)
											);
										}
									}

View on GitHub (pinned to fad1729dce)

Solutions

  1. Use a valid XML element name (no spaces or invalid characters).

When it happens

Trigger: Triggered when the application calls a Hibernate dialect feature that the configured database dialect cannot provide: Invalid XML element name passed to 'xmlelement()'.

Common situations: Common when running against a database whose dialect lacks this capability, when a mapping or HQL/Criteria query requests unsupported functionality, or when the wrong dialect is configured for the database in use. Error: Invalid XML element name passed to 'xmlelement()'.


AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22). Data as JSON: /api/errors/99164884c017af77. Report an issue: GitHub.