summaryrefslogtreecommitdiff
path: root/writerfilter/documentation
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2012-01-19 14:22:27 +0100
committerLuboš Luňák <l.lunak@suse.cz>2012-01-19 14:29:55 +0100
commit9f03ad248e2e0151facadee0738a7fa6158743f9 (patch)
tree7c6cb77739137d711333f3bef57f2ae5b9061ae8 /writerfilter/documentation
parent58de34f6330e7093238bae2a14982e598867b336 (diff)
a feeble attempt at at least some docs for writerfilter
Diffstat (limited to 'writerfilter/documentation')
-rw-r--r--writerfilter/documentation/ooxml/model.xml41
1 files changed, 41 insertions, 0 deletions
diff --git a/writerfilter/documentation/ooxml/model.xml b/writerfilter/documentation/ooxml/model.xml
new file mode 100644
index 000000000000..c50f23d4eab2
--- /dev/null
+++ b/writerfilter/documentation/ooxml/model.xml
@@ -0,0 +1,41 @@
+These are various notes about ooxml/model.xml and related stuff. They have been
+mostly found out by trial and error, because existing documentation is poor
+or nonexistent, so I don't actually understand writerfilter that much (and
+think nothing nice about it) and don't think it (both writerfilter and my
+understanding/liking of it) could be noticeably improved. In an ideal world
+it should be nuked from orbit and started again from scratch with a saner design.
+
+-
+CT_xxx (Complex Type) - it seems to be used for XML elements
+ST_xxx (Simple Type) - it seems to be used for XML attributes
+
+- SPRM - no idea what that actually means, but in the context of OOXML it seems
+ to pretty much mean "XML element"
+
+-
+
+Format of the <resource> tag (shortened CT_Font example):
+
+ <resource name="CT_Font" resource="Properties" tag="font">
+ <element name="charset" tokenid="ooxml:CT_Font_charset"/>
+ <attribute name="name" tokenid="ooxml:CT_Font_name"/>
+ </resource>
+
+CT_Font is the type that is defined how it will be handled.
+resource="XXX" means it will be handled by OOXMLFastContextHandlerXXX class
+no idea what tag="font" means or if it matters
+<element> defines the <w:charset> subelement will be handled in sprm() function
+ as NS_ooxml::LN_CT_Font_charset case
+<attribute> defines the <w:name> attribute of the element will be handled
+ in attribute() function as NS_ooxml::LN_CT_Font_name case
+in both cases sprm()/attribute() may mean actually any of the various strange
+ naming ideas like lcl_sprm()
+
+-
+If an element (and its subelements) are not processed but the element itself
+does not require any special handling, make sure something like the below is present.
+Otherwise null context will be created and the element and all its subelements
+will be ignored.
+
+<resource name="CT_OMathPara" resource="Stream" tag="math"/>
+