summaryrefslogtreecommitdiffstats
path: root/writerfilter/source/ooxml/factoryimpl_ns.py
diff options
context:
space:
mode:
Diffstat (limited to 'writerfilter/source/ooxml/factoryimpl_ns.py')
-rw-r--r--writerfilter/source/ooxml/factoryimpl_ns.py7
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