500 Internal Server Error

Internal Server Error

net.sf.saxon.s9api.SaxonApiException: I/O error reported by XML parser processing char:EOLhyphen

java.lang.RuntimeException: net.sf.saxon.s9api.SaxonApiException: I/O error reported by XML parser processing char:EOLhyphen
	at com.google.common.base.Throwables.propagate(Throwables.java:234)
	at info.textgrid.services.aggregator.html.HTMLWriter.write(HTMLWriter.java:302)
	at org.apache.cxf.jaxrs.provider.BinaryDataProvider.writeTo(BinaryDataProvider.java:176)
	at org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java:1651)
	at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:249)
	at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:122)
	at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:84)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
	at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:90)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:233)
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:207)
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:159)
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:224)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:312)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:222)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:279)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:57)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:535)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:86)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:71)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:348)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:71)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1307)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:2032)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:74)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:976)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:494)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:80)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: net.sf.saxon.s9api.SaxonApiException: I/O error reported by XML parser processing char:EOLhyphen
	at net.sf.saxon.s9api.XsltTransformer.transform(XsltTransformer.java:371)
	at info.textgrid.services.aggregator.html.HTMLWriter.write(HTMLWriter.java:296)
	... 39 more
Caused by: net.sf.saxon.trans.XPathException: I/O error reported by XML parser processing char:EOLhyphen
	at net.sf.saxon.resource.ActiveSAXSource.deliver(ActiveSAXSource.java:245)
	at net.sf.saxon.event.Sender.send(Sender.java:104)
	at net.sf.saxon.functions.DocumentFn.makeDoc(DocumentFn.java:309)
	at net.sf.saxon.functions.DocumentFn$DocumentMappingFunction.mapItem(DocumentFn.java:159)
	at net.sf.saxon.expr.ItemMappingIterator.next(ItemMappingIterator.java:161)
	at net.sf.saxon.om.SequenceTool.supply(SequenceTool.java:153)
	at net.sf.saxon.expr.sort.DocumentOrderIterator.<init>(DocumentOrderIterator.java:41)
	at net.sf.saxon.functions.DocumentFn.call(DocumentFn.java:130)
	at net.sf.saxon.expr.SystemFunctionCall$SystemFunctionCallElaborator.lambda$elaborateForPull$1(SystemFunctionCall.java:608)
	at net.sf.saxon.value.SingletonClosure.asItem(SingletonClosure.java:105)
	at net.sf.saxon.value.SingletonClosure.head(SingletonClosure.java:89)
	at net.sf.saxon.expr.LocalVariableReference$LocalVariableReferenceElaborator.lambda$elaborateForItem$2(LocalVariableReference.java:245)
	at net.sf.saxon.expr.SimpleStepExpression$SimpleStepExprElaborator.lambda$elaborateForPull$0(SimpleStepExpression.java:184)
	at net.sf.saxon.functions.Exists$ExistsFnElaborator.lambda$elaborateForBoolean$0(Exists.java:111)
	at net.sf.saxon.expr.instruct.Choose$ChooseExprElaborator.lambda$elaborateForPush$10(Choose.java:1177)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$4(Block.java:895)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.FixedElement$FixedElementElaborator.lambda$elaborateForPush$0(FixedElement.java:641)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.LetExpression$LetExprElaborator.lambda$elaborateForPush$6(LetExpression.java:942)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	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.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$1(Block.java:853)
	at net.sf.saxon.expr.instruct.DocumentInstr$DocumentInstrElaborator.lambda$elaborateForItem$5(DocumentInstr.java:407)
	at net.sf.saxon.expr.elab.PushElaborator.lambda$elaborateForPull$1(PushElaborator.java:46)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPull$2(TraceExpression.java:456)
	at net.sf.saxon.expr.elab.EagerPullEvaluator.evaluate(EagerPullEvaluator.java:37)
	at net.sf.saxon.expr.elab.LearningEvaluator.evaluate(LearningEvaluator.java:69)
	at net.sf.saxon.expr.instruct.WithParam.getSelectValue(WithParam.java:322)
	at net.sf.saxon.expr.instruct.Instruction.assembleParams(Instruction.java:200)
	at net.sf.saxon.expr.instruct.CallTemplate$CallTemplateElaborator.lambda$elaborateForPush$0(CallTemplate.java:590)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Choose$ChooseExprElaborator.lambda$elaborateForPush$12(Choose.java:1190)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.LetExpression$LetExprElaborator.lambda$elaborateForPush$6(LetExpression.java:942)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	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.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$2(Block.java:864)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Choose$ChooseExprElaborator.lambda$elaborateForPush$13(Choose.java:1198)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.LetExpression$LetExprElaborator.lambda$elaborateForPush$6(LetExpression.java:942)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$2(Block.java:867)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	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.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$3(Block.java:885)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComputedElement$ComputedElementElaborator.lambda$elaborateForPush$1(ComputedElement.java:655)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Choose$ChooseExprElaborator.lambda$elaborateForPush$11(Choose.java:1183)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$2(Block.java:867)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	at net.sf.saxon.expr.instruct.NamedTemplate.expand(NamedTemplate.java:247)
	at net.sf.saxon.expr.instruct.CallTemplate$CallTemplatePackage.processLeavingTail(CallTemplate.java:515)
	at net.sf.saxon.expr.Expression.dispatchTailCall(Expression.java:976)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Choose$ChooseExprElaborator.lambda$elaborateForPush$14(Choose.java:1205)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.LetExpression$LetExprElaborator.lambda$elaborateForPush$6(LetExpression.java:942)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	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.expr.instruct.ApplyTemplates$ApplyTemplatesElaborator.lambda$elaborateForPush$1(ApplyTemplates.java:655)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$2(Block.java:861)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Choose$ChooseExprElaborator.lambda$elaborateForPush$12(Choose.java:1190)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$3(Block.java:879)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	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.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$4(Block.java:895)
	at net.sf.saxon.expr.instruct.FixedElement$FixedElementElaborator.lambda$elaborateForPush$0(FixedElement.java:641)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$1(Block.java:853)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$1(Block.java:853)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.FixedElement$FixedElementElaborator.lambda$elaborateForPush$0(FixedElement.java:641)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$4(Block.java:895)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	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$ApplyTemplatesPackage.processLeavingTail(ApplyTemplates.java:553)
	at net.sf.saxon.expr.Expression.dispatchTailCall(Expression.java:976)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Block$BlockElaborator.lambda$elaborateForPush$1(Block.java:853)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Choose$ChooseExprElaborator.lambda$elaborateForPush$14(Choose.java:1205)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	at net.sf.saxon.expr.instruct.NamedTemplate.expand(NamedTemplate.java:247)
	at net.sf.saxon.expr.instruct.CallTemplate$CallTemplatePackage.processLeavingTail(CallTemplate.java:515)
	at net.sf.saxon.expr.Expression.dispatchTailCall(Expression.java:976)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	at net.sf.saxon.expr.instruct.TemplateRule.applyLeavingTail(TemplateRule.java:376)
	at net.sf.saxon.expr.instruct.NextMatch$NextMatchPackage.processLeavingTail(NextMatch.java:171)
	at net.sf.saxon.expr.Expression.dispatchTailCall(Expression.java:976)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.Choose$ChooseExprElaborator.lambda$elaborateForPush$11(Choose.java:1183)
	at net.sf.saxon.expr.instruct.TraceExpression$TraceExpressionElaborator.lambda$elaborateForPush$3(TraceExpression.java:476)
	at net.sf.saxon.expr.instruct.ComponentTracer$ComponentTracerElaborator.lambda$elaborateForPush$2(ComponentTracer.java:348)
	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.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)
	... 40 more
Caused by: java.net.MalformedURLException: unknown protocol: char
	at java.base/java.net.URL.<init>(URL.java:681)
	at java.base/java.net.URL.<init>(URL.java:569)
	at java.base/java.net.URL.<init>(URL.java:516)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:650)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:150)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:861)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637)
	at net.sf.saxon.resource.ActiveSAXSource.deliver(ActiveSAXSource.java:192)
	... 175 more

            

Holder of rights
University of Oxford, License: Distributed by the University of Oxford under a Creative Commons Attribution-ShareAlike 3.0 Unported License [http://creativecommons.org/licenses/by-sa/3.0/]

Citation Suggestion for this Object
TextGrid Repository (2016). TEI. 3491 A supplement to the tour through Great Britain containing a catalogue of the antiquities houses parks plantations by the late Mr Gray To which are now added by another hand several ad. University of Oxford Text Archive. University of Oxford, License: Distributed by the University of Oxford under a Creative Commons Attribution-ShareAlike 3.0 Unported License [http://creativecommons.org/licenses/by-sa/3.0/]. https://hdl.handle.net/11378/0000-0005-D1CC-9