diff options
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/ooxml/factoryimpl_ns.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/writerfilter/source/ooxml/factoryimpl_ns.py b/writerfilter/source/ooxml/factoryimpl_ns.py index f810f24c86b4..41fa714678c7 100644 --- a/writerfilter/source/ooxml/factoryimpl_ns.py +++ b/writerfilter/source/ooxml/factoryimpl_ns.py @@ -94,6 +94,13 @@ def resourceForAttribute(nsNode, attrNode): resourceName = "Boolean" elif len([i for i in attrNode.getElementsByTagName("data") if i.getAttribute("type") in ("unsignedInt", "integer", "int")]): resourceName = "Integer" + else: + dataNodes = attrNode.getElementsByTagName("data") + if len(dataNodes): + t = dataNodes[0].getAttribute("type") + # Blacklist existing unexpected data types. + if t not in ("token", "long", "decimal", "float", "byte", "ST_DecimalNumber", "positiveInteger"): + raise Exception("unexpected data type: " + dataNodes[0].getAttribute("type")) return resourceName |