Skip to content

MIR-1564 Migrate mets-dfg to Saxon#1332

Open
yagee-de wants to merge 3 commits intomainfrom
issues/MIR-1564-migrate-mets-dfg-to-saxon
Open

MIR-1564 Migrate mets-dfg to Saxon#1332
yagee-de wants to merge 3 commits intomainfrom
issues/MIR-1564-migrate-mets-dfg-to-saxon

Conversation

@yagee-de
Copy link
Copy Markdown
Member

@sebhofmann
Copy link
Copy Markdown
Member

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

🤖 Generated with Claude Code

- If this code review was useful, please react with 👍. Otherwise, react with 👎.

kkrebs
kkrebs previously approved these changes Mar 27, 2026
Copy link
Copy Markdown
Member

@sebhofmann sebhofmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[administrator](http://localhost:8291/mir/servlets/MCRMETSServlet/mir_derivate_00000001?XSL.Style=dfg#)
    [de](http://localhost:8291/mir/servlets/MCRMETSServlet/mir_derivate_00000001?XSL.Style=dfg#)

[mirmycoremods institutional repository](http://localhost:8291/mir/content/index.xml)

    [Start](http://localhost:8291/mir/content/index.xml)
    [Suche](http://localhost:8291/mir/servlets/MCRMETSServlet/mir_derivate_00000001?XSL.Style=dfg#)
    [Dokumente einreichen](http://localhost:8291/mir/servlets/MCRMETSServlet/mir_derivate_00000001?XSL.Style=dfg#)
    [0](http://localhost:8291/mir/servlets/MCRMETSServlet/mir_derivate_00000001?XSL.Style=dfg#)

500!
Das ist ein Fehler.

Es tauchte ein Fehler im Server auf, der verhinderte, dass die Anfrage nach "/mir/servlets/MCRMETSServlet/mir_derivate_00000001" erfüllt werden konnte.
org.xml.sax.SAXException: net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
Stack trace :

java.io.IOException: org.xml.sax.SAXException: net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
	at org.mycore.common.content.transformer.MCRXSLTransformer.transform(MCRXSLTransformer.java:266)
	at org.mycore.common.xml.MCRLayoutService.transform(MCRLayoutService.java:203)
	at org.mycore.common.xml.MCRLayoutService.doLayout(MCRLayoutService.java:99)
	at org.mycore.mets.servlets.MCRMETSServlet.doGetPost(MCRMETSServlet.java:106)
	at org.mycore.frontend.servlets.MCRServlet.doGet(MCRServlet.java:184)
	at org.mycore.frontend.servlets.MCRServlet.render(MCRServlet.java:513)
	at org.mycore.frontend.servlets.MCRServlet.processRenderingPhase(MCRServlet.java:478)
	at org.mycore.frontend.servlets.MCRServlet.doGetPost(MCRServlet.java:325)
	at org.mycore.frontend.servlets.MCRServlet.doGet(MCRServlet.java:157)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:636)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)
	at org.mycore.frontend.filter.MCRUserAgentFilter.doFilter(MCRUserAgentFilter.java:86)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.mycore.frontend.filter.MCRWebAppBaseFilter.doFilter(MCRWebAppBaseFilter.java:41)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.mycore.frontend.filter.MCRRequestAuthenticationFilter.doFilter(MCRRequestAuthenticationFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.mycore.frontend.filter.MCRRequestDebugFilter.doFilter(MCRRequestDebugFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:654)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)
	at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: org.xml.sax.SAXException: net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
	at net.sf.saxon.jaxp.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:190)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:755)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:556)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:890)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:826)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:137)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1225)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:629)
	at org.mycore.common.content.transformer.MCRXSLTransformer.transform(MCRXSLTransformer.java:263)
	... 40 more
Caused by: net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
	at net.sf.saxon.expr.CardinalityCheckingIterator.typeError(CardinalityCheckingIterator.java:114)
	at net.sf.saxon.expr.CardinalityCheckingIterator.<init>(CardinalityCheckingIterator.java:71)
	at net.sf.saxon.expr.CardinalityChecker.checkCardinality(CardinalityChecker.java:258)
	at net.sf.saxon.expr.CardinalityChecker$CardinalityCheckerElaborator.lambda$elaborateForPull$0(CardinalityChecker.java:506)
	at net.sf.saxon.expr.elab.PullElaborator.lambda$elaborateForItem$1(PullElaborator.java:54)
	at net.sf.saxon.expr.elab.PullElaborator.lambda$elaborateForUnicodeString$3(PullElaborator.java:76)
	at net.sf.saxon.expr.elab.Elaborator.lambda$elaborateForString$0(Elaborator.java:190)
	at net.sf.saxon.functions.Contains$ContainsFnElaborator.lambda$elaborateForBoolean$0(Contains.java:76)
	at net.sf.saxon.functions.NotFn$NotFnElaborator.lambda$elaborateForBoolean$0(NotFn.java:129)
	at net.sf.saxon.expr.AndExpression$AndElaborator.lambda$elaborateForBoolean$0(AndExpression.java:212)
	at net.sf.saxon.expr.FilterExpression$FilterExprElaborator$SimpleFilteredIterator.next(FilterExpression.java:1377)
	at net.sf.saxon.value.SequenceExtent.from(SequenceExtent.java:48)
	at net.sf.saxon.om.SequenceTool.toGroundedValue(SequenceTool.java:55)
	at net.sf.saxon.expr.elab.EagerPullEvaluator.evaluate(EagerPullEvaluator.java:37)
	at net.sf.saxon.expr.parser.ExpressionTool.eagerEvaluate(ExpressionTool.java:195)
	at net.sf.saxon.expr.instruct.GlobalVariable.getSelectValue(GlobalVariable.java:654)
	at net.sf.saxon.expr.instruct.GlobalVariable.actuallyEvaluate(GlobalVariable.java:745)
	at net.sf.saxon.expr.instruct.GlobalVariable.evaluateVariable(GlobalVariable.java:721)
	at net.sf.saxon.expr.GlobalVariableReference.evaluateVariable(GlobalVariableReference.java:127)
	at net.sf.saxon.expr.GlobalVariableReference$GlobalVariableReferenceElaborator.lambda$elaborateForPull$0(GlobalVariableReference.java:210)
	at net.sf.saxon.expr.SlashExpression$SlashExprElaborator.lambda$elaborateForPull$1(SlashExpression.java:1119)
	at net.sf.saxon.expr.instruct.ForEach$ForEachElaborator.lambda$elaborateForPush$5(ForEach.java:809)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$1(Block.java:853)
	at net.sf.saxon.expr.instruct.FixedElement$FixedElementElaborator.lambda$elaborateForPush$0(FixedElement.java:641)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$4(Block.java:895)
	at net.sf.saxon.expr.instruct.NamedTemplate.expand(NamedTemplate.java:247)
	at net.sf.saxon.expr.instruct.CallTemplate$CallTemplateElaborator.lambda$elaborateForPush$1(CallTemplate.java:633)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$4(Block.java:895)
	at net.sf.saxon.expr.instruct.Copy$CopyElaborator.lambda$elaborateForPush$0(Copy.java:589)
	at net.sf.saxon.expr.instruct.TemplateRule.applyLeavingTail(TemplateRule.java:376)
	at net.sf.saxon.trans.Mode.handleRuleNotNull(Mode.java:587)
	at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:521)
	at net.sf.saxon.expr.instruct.ApplyTemplates$ApplyTemplatesElaborator.lambda$elaborateForPush$1(ApplyTemplates.java:655)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$2(Block.java:867)
	at net.sf.saxon.expr.instruct.FixedElement$FixedElementElaborator.lambda$elaborateForPush$0(FixedElement.java:641)
	at net.sf.saxon.expr.instruct.TemplateRule.applyLeavingTail(TemplateRule.java:376)
	at net.sf.saxon.trans.Mode.handleRuleNotNull(Mode.java:587)
	at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:521)
	at net.sf.saxon.trans.rules.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:72)
	at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:518)
	at net.sf.saxon.trans.XsltController.applyTemplates(XsltController.java:684)
	at net.sf.saxon.s9api.AbstractXsltTransformer.applyTemplatesToSource(AbstractXsltTransformer.java:431)
	at net.sf.saxon.s9api.XsltTransformer.transform(XsltTransformer.java:359)
	at net.sf.saxon.jaxp.TransformerImpl.transform(TransformerImpl.java:75)
	at net.sf.saxon.jaxp.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:188)
	... 48 more

org.xml.sax.SAXException: net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
	at net.sf.saxon.jaxp.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:190)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:755)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:556)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:890)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:826)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:137)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1225)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:629)
	at org.mycore.common.content.transformer.MCRXSLTransformer.transform(MCRXSLTransformer.java:263)
	at org.mycore.common.xml.MCRLayoutService.transform(MCRLayoutService.java:203)
	at org.mycore.common.xml.MCRLayoutService.doLayout(MCRLayoutService.java:99)
	at org.mycore.mets.servlets.MCRMETSServlet.doGetPost(MCRMETSServlet.java:106)
	at org.mycore.frontend.servlets.MCRServlet.doGet(MCRServlet.java:184)
	at org.mycore.frontend.servlets.MCRServlet.render(MCRServlet.java:513)
	at org.mycore.frontend.servlets.MCRServlet.processRenderingPhase(MCRServlet.java:478)
	at org.mycore.frontend.servlets.MCRServlet.doGetPost(MCRServlet.java:325)
	at org.mycore.frontend.servlets.MCRServlet.doGet(MCRServlet.java:157)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:636)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)
	at org.mycore.frontend.filter.MCRUserAgentFilter.doFilter(MCRUserAgentFilter.java:86)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.mycore.frontend.filter.MCRWebAppBaseFilter.doFilter(MCRWebAppBaseFilter.java:41)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.mycore.frontend.filter.MCRRequestAuthenticationFilter.doFilter(MCRRequestAuthenticationFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.mycore.frontend.filter.MCRRequestDebugFilter.doFilter(MCRRequestDebugFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:654)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)
	at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
	at net.sf.saxon.expr.CardinalityCheckingIterator.typeError(CardinalityCheckingIterator.java:114)
	at net.sf.saxon.expr.CardinalityCheckingIterator.<init>(CardinalityCheckingIterator.java:71)
	at net.sf.saxon.expr.CardinalityChecker.checkCardinality(CardinalityChecker.java:258)
	at net.sf.saxon.expr.CardinalityChecker$CardinalityCheckerElaborator.lambda$elaborateForPull$0(CardinalityChecker.java:506)
	at net.sf.saxon.expr.elab.PullElaborator.lambda$elaborateForItem$1(PullElaborator.java:54)
	at net.sf.saxon.expr.elab.PullElaborator.lambda$elaborateForUnicodeString$3(PullElaborator.java:76)
	at net.sf.saxon.expr.elab.Elaborator.lambda$elaborateForString$0(Elaborator.java:190)
	at net.sf.saxon.functions.Contains$ContainsFnElaborator.lambda$elaborateForBoolean$0(Contains.java:76)
	at net.sf.saxon.functions.NotFn$NotFnElaborator.lambda$elaborateForBoolean$0(NotFn.java:129)
	at net.sf.saxon.expr.AndExpression$AndElaborator.lambda$elaborateForBoolean$0(AndExpression.java:212)
	at net.sf.saxon.expr.FilterExpression$FilterExprElaborator$SimpleFilteredIterator.next(FilterExpression.java:1377)
	at net.sf.saxon.value.SequenceExtent.from(SequenceExtent.java:48)
	at net.sf.saxon.om.SequenceTool.toGroundedValue(SequenceTool.java:55)
	at net.sf.saxon.expr.elab.EagerPullEvaluator.evaluate(EagerPullEvaluator.java:37)
	at net.sf.saxon.expr.parser.ExpressionTool.eagerEvaluate(ExpressionTool.java:195)
	at net.sf.saxon.expr.instruct.GlobalVariable.getSelectValue(GlobalVariable.java:654)
	at net.sf.saxon.expr.instruct.GlobalVariable.actuallyEvaluate(GlobalVariable.java:745)
	at net.sf.saxon.expr.instruct.GlobalVariable.evaluateVariable(GlobalVariable.java:721)
	at net.sf.saxon.expr.GlobalVariableReference.evaluateVariable(GlobalVariableReference.java:127)
	at net.sf.saxon.expr.GlobalVariableReference$GlobalVariableReferenceElaborator.lambda$elaborateForPull$0(GlobalVariableReference.java:210)
	at net.sf.saxon.expr.SlashExpression$SlashExprElaborator.lambda$elaborateForPull$1(SlashExpression.java:1119)
	at net.sf.saxon.expr.instruct.ForEach$ForEachElaborator.lambda$elaborateForPush$5(ForEach.java:809)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$1(Block.java:853)
	at net.sf.saxon.expr.instruct.FixedElement$FixedElementElaborator.lambda$elaborateForPush$0(FixedElement.java:641)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$4(Block.java:895)
	at net.sf.saxon.expr.instruct.NamedTemplate.expand(NamedTemplate.java:247)
	at net.sf.saxon.expr.instruct.CallTemplate$CallTemplateElaborator.lambda$elaborateForPush$1(CallTemplate.java:633)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$4(Block.java:895)
	at net.sf.saxon.expr.instruct.Copy$CopyElaborator.lambda$elaborateForPush$0(Copy.java:589)
	at net.sf.saxon.expr.instruct.TemplateRule.applyLeavingTail(TemplateRule.java:376)
	at net.sf.saxon.trans.Mode.handleRuleNotNull(Mode.java:587)
	at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:521)
	at net.sf.saxon.expr.instruct.ApplyTemplates$ApplyTemplatesElaborator.lambda$elaborateForPush$1(ApplyTemplates.java:655)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$2(Block.java:867)
	at net.sf.saxon.expr.instruct.FixedElement$FixedElementElaborator.lambda$elaborateForPush$0(FixedElement.java:641)
	at net.sf.saxon.expr.instruct.TemplateRule.applyLeavingTail(TemplateRule.java:376)
	at net.sf.saxon.trans.Mode.handleRuleNotNull(Mode.java:587)
	at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:521)
	at net.sf.saxon.trans.rules.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:72)
	at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:518)
	at net.sf.saxon.trans.XsltController.applyTemplates(XsltController.java:684)
	at net.sf.saxon.s9api.AbstractXsltTransformer.applyTemplatesToSource(AbstractXsltTransformer.java:431)
	at net.sf.saxon.s9api.XsltTransformer.transform(XsltTransformer.java:359)
	at net.sf.saxon.jaxp.TransformerImpl.transform(TransformerImpl.java:75)
	at net.sf.saxon.jaxp.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:188)
	... 48 more

; SystemID: jar:file:/home/paschty/workspace/mir/mir-webapp/target/catalina-base/webapps/mir/WEB-INF/lib/mir-module-2026.06.0-SNAPSHOT.jar!/xslt/mets/mets-iview.xsl; Line#: 15; Column#: 137
net.sf.saxon.trans.XPathException: A sequence of more than one item { ("Bildschirmfoto_20260112_142315.png", "Bildschirmfoto_20260116_112731.png") } is not allowed as the first argument of fn:contains()
	at net.sf.saxon.expr.CardinalityCheckingIterator.typeError(CardinalityCheckingIterator.java:114)
	at net.sf.saxon.expr.CardinalityCheckingIterator.<init>(CardinalityCheckingIterator.java:71)
	at net.sf.saxon.expr.CardinalityChecker.checkCardinality(CardinalityChecker.java:258)
	at net.sf.saxon.expr.CardinalityChecker$CardinalityCheckerElaborator.lambda$elaborateForPull$0(CardinalityChecker.java:506)
	at net.sf.saxon.expr.elab.PullElaborator.lambda$elaborateForItem$1(PullElaborator.java:54)
	at net.sf.saxon.expr.elab.PullElaborator.lambda$elaborateForUnicodeString$3(PullElaborator.java:76)
	at net.sf.saxon.expr.elab.Elaborator.lambda$elaborateForString$0(Elaborator.java:190)
	at net.sf.saxon.functions.Contains$ContainsFnElaborator.lambda$elaborateForBoolean$0(Contains.java:76)
	at net.sf.saxon.functions.NotFn$NotFnElaborator.lambda$elaborateForBoolean$0(NotFn.java:129)
	at net.sf.saxon.expr.AndExpression$AndElaborator.lambda$elaborateForBoolean$0(AndExpression.java:212)
	at net.sf.saxon.expr.FilterExpression$FilterExprElaborator$SimpleFilteredIterator.next(FilterExpression.java:1377)
	at net.sf.saxon.value.SequenceExtent.from(SequenceExtent.java:48)
	at net.sf.saxon.om.SequenceTool.toGroundedValue(SequenceTool.java:55)
	at net.sf.saxon.expr.elab.EagerPullEvaluator.evaluate(EagerPullEvaluator.java:37)
	at net.sf.saxon.expr.parser.ExpressionTool.eagerEvaluate(ExpressionTool.java:195)
	at net.sf.saxon.expr.instruct.GlobalVariable.getSelectValue(GlobalVariable.java:654)
	at net.sf.saxon.expr.instruct.GlobalVariable.actuallyEvaluate(GlobalVariable.java:745)
	at net.sf.saxon.expr.instruct.GlobalVariable.evaluateVariable(GlobalVariable.java:721)
	at net.sf.saxon.expr.GlobalVariableReference.evaluateVariable(GlobalVariableReference.java:127)
	at net.sf.saxon.expr.GlobalVariableReference$GlobalVariableReferenceElaborator.lambda$elaborateForPull$0(GlobalVariableReference.java:210)
	at net.sf.saxon.expr.SlashExpression$SlashExprElaborator.lambda$elaborateForPull$1(SlashExpression.java:1119)
	at net.sf.saxon.expr.instruct.ForEach$ForEachElaborator.lambda$elaborateForPush$5(ForEach.java:809)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$1(Block.java:853)
	at net.sf.saxon.expr.instruct.FixedElement$FixedElementElaborator.lambda$elaborateForPush$0(FixedElement.java:641)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$4(Block.java:895)
	at net.sf.saxon.expr.instruct.NamedTemplate.expand(NamedTemplate.java:247)
	at net.sf.saxon.expr.instruct.CallTemplate$CallTemplateElaborator.lambda$elaborateForPush$1(CallTemplate.java:633)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$4(Block.java:895)
	at net.sf.saxon.expr.instruct.Copy$CopyElaborator.lambda$elaborateForPush$0(Copy.java:589)
	at net.sf.saxon.expr.instruct.TemplateRule.applyLeavingTail(TemplateRule.java:376)
	at net.sf.saxon.trans.Mode.handleRuleNotNull(Mode.java:587)
	at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:521)
	at net.sf.saxon.expr.instruct.ApplyTemplates$ApplyTemplatesElaborator.lambda$elaborateForPush$1(ApplyTemplates.java:655)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$2(Block.java:867)
	at net.sf.saxon.expr.instruct.FixedElement$FixedElementElaborator.lambda$elaborateForPush$0(FixedElement.java:641)
	at net.sf.saxon.expr.instruct.TemplateRule.applyLeavingTail(TemplateRule.java:376)
	at net.sf.saxon.trans.Mode.handleRuleNotNull(Mode.java:587)
	at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:521)
	at net.sf.saxon.trans.rules.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:72)
	at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:518)
	at net.sf.saxon.trans.XsltController.applyTemplates(XsltController.java:684)
	at net.sf.saxon.s9api.AbstractXsltTransformer.applyTemplatesToSource(AbstractXsltTransformer.java:431)
	at net.sf.saxon.s9api.XsltTransformer.transform(XsltTransformer.java:359)
	at net.sf.saxon.jaxp.TransformerImpl.transform(TransformerImpl.java:75)
	at net.sf.saxon.jaxp.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:188)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:755)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:556)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:890)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:826)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:137)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1225)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:629)
	at org.mycore.common.content.transformer.MCRXSLTransformer.transform(MCRXSLTransformer.java:263)
	at org.mycore.common.xml.MCRLayoutService.transform(MCRLayoutService.java:203)
	at org.mycore.common.xml.MCRLayoutService.doLayout(MCRLayoutService.java:99)
	at org.mycore.mets.servlets.MCRMETSServlet.doGetPost(MCRMETSServlet.java:106)
	at org.mycore.frontend.servlets.MCRServlet.doGet(MCRServlet.java:184)
	at org.mycore.frontend.servlets.MCRServlet.render(MCRServlet.java:513)
	at org.mycore.frontend.servlets.MCRServlet.processRenderingPhase(MCRServlet.java:478)
	at org.mycore.frontend.servlets.MCRServlet.doGetPost(MCRServlet.java:325)
	at org.mycore.frontend.servlets.MCRServlet.doGet(MCRServlet.java:157)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:636)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)
	at org.mycore.frontend.filter.MCRUserAgentFilter.doFilter(MCRUserAgentFilter.java:86)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.mycore.frontend.filter.MCRWebAppBaseFilter.doFilter(MCRWebAppBaseFilter.java:41)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.mycore.frontend.filter.MCRRequestAuthenticationFilter.doFilter(MCRRequestAuthenticationFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.mycore.frontend.filter.MCRRequestDebugFilter.doFilter(MCRRequestDebugFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:654)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1779)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)
	at java.base/java.lang.Thread.run(Thread.java:1474)

Mehr wissen wir auch nicht.
Über uns

MIR ein klassicher institutioneller Publikations- bzw. Dokumentenserver. Es basiert auf dem Repository-Framework MyCoRe und dem Metadata Object Description Schema (MODS). [Mehr erfahren ...](http://mycore.de/generated/mir/)
Navigation

    [Impressum](http://localhost:8291/mir/content/brand/impressum.xml)
    [Kontakt](http://localhost:8291/mir/content/brand/contact.xml)

Netzwerke

    [Facebook](http://localhost:8291/mir/servlets/MCRMETSServlet/mir_derivate_00000001?XSL.Style=dfg#)
    [X](http://localhost:8291/mir/servlets/MCRMETSServlet/mir_derivate_00000001?XSL.Style=dfg#)

Layout based on

    [flatmir](http://localhost:8291/mir/mir-layout/template/flatmir.xml)
    [Bootstrap](http://getbootstrap.com/)
    [Bootswatch](http://bootswatch.com/)

powered by MyCoRe

@kkrebs kkrebs requested review from kkrebs and removed request for kkrebs March 27, 2026 16:25
@kkrebs kkrebs removed their request for review March 27, 2026 16:53
@yagee-de yagee-de requested a review from sebhofmann March 30, 2026 07:17
<xsl:variable name="licenseId"
select="substring-after($entity/mycoreobject/metadata/def.modsContainer/modsContainer/mods:mods/mods:accessCondition[@type='use and reproduction']/@xlink:href, '#')" />
<xsl:value-of
select="(
Copy link
Copy Markdown
Contributor

@toKrause toKrause Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use mcrclassification:current-label(mcrclassification:category('mir_licenses', $licenseId)) instead of manually created sequence.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use current-label-text in a8d7310

@yagee-de yagee-de requested a review from toKrause April 10, 2026 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants