diff --git a/model/io/src/main/java/org/eclipse/daanse/xmla/model/io/EcoreXmlReader.java b/model/io/src/main/java/org/eclipse/daanse/xmla/model/io/EcoreXmlReader.java index 86e06ed..eefc2ea 100644 --- a/model/io/src/main/java/org/eclipse/daanse/xmla/model/io/EcoreXmlReader.java +++ b/model/io/src/main/java/org/eclipse/daanse/xmla/model/io/EcoreXmlReader.java @@ -354,8 +354,10 @@ private static Object parse(EStructuralFeature feature, String text, XMLStreamRe if (isBoolean(type)) { // xsd:boolean has four lexical forms: true, false, 1, 0. Clients write // soap:mustUnderstand="1", and Boolean.valueOf("1") is false - EMF's own - // conversion would not fail here, it would invert the meaning. - return switch (text.trim()) { + // conversion would not fail here, it would invert the meaning. Microsoft + // clients also write .NET's Boolean.ToString() - "True", "False" - into + // restrictions such as ShowHiddenCubes, so the case is not held against them. + return switch (text.trim().toLowerCase(java.util.Locale.ROOT)) { case "true", "1" -> Boolean.TRUE; case "false", "0" -> Boolean.FALSE; default -> throw new XmlaCodecException(