50 Commits

Author SHA1 Message Date
Todd
75f877dbab document: Google docs writes out incorrect floating point values
Relax our parsing somewhat so we can read these documents,
truncating at the decimal point back to an integer.

Fixes #196
2018-09-11 20:28:33 -05:00
Todd
df08d555d4 schema: fix charts
Add missing reference to http://schemas.openxmlformats.org/drawingml/2006/main

Fixes #155
2018-01-31 13:49:24 -06:00
Todd
629cfb008c schema: for xml ref attributes, check the namespace
One of the pml types has two attributes named 'id' with
one being a reference.  This allows that to be unmarshaled
correctly.
2017-11-18 11:52:13 -06:00
Todd
7343e2d31f spreadsheet: don't allow extra content on Workbook
Fixes #107
2017-10-05 08:21:17 -04:00
Todd
56e9890d9f schema: round trip extra content on Workbook
Excel occasionally drops some alternate content with
path information here.
2017-10-02 18:36:49 -05:00
Todd
5bfa034ef9 gooxml: add and use a Log function
This allows redirecting or discarding any
logs produced by the library.
2017-09-30 07:09:26 -05:00
Todd
ad46a6ae15 schema: preserve extra content on CT_R/CT_SdtPr
The extra content is non-standard, but Libre seems to support
it well so we just round-trip it for now.
2017-09-26 19:34:13 -05:00
Todd
427f7b1e45 schema: rename officeDocument to ofc 2017-09-23 10:01:17 -04:00
Todd
599631208a schema: rename drawingml to dml 2017-09-23 10:01:17 -04:00
Todd
e880adfc5b schema: rename package to pkg 2017-09-23 10:01:17 -04:00
Todd
cfd74875a6 schema: rename presentationml to pml 2017-09-23 10:01:17 -04:00
Todd
ca6c54dc60 schema: rename wordprocessingml to wml 2017-09-23 10:01:17 -04:00
Todd
5c7852d21e schema: rename spreadsheetml to sml 2017-09-23 10:01:17 -04:00
Todd
09825ac816 schema: rework schema namespaces to work around Windows issues
The go command on Windows doesn't like long path name. To
work around this, this is the first in a series of changes to
shorten the schema disk path structure in a few places.

Fixes #89
2017-09-23 10:01:17 -04:00
Todd
2b50dca676 schema: add vml schema 2017-09-10 11:25:29 -05:00
Todd
9b53a8ea41 schema: check for namespaces when decoding
- check for namespaces when decoding
- merge wordprocessingDrawing into wordprocessingml, this fixes some
  issues with cyclic import paths (XML namespaces don't translate to
  to valid go namespaces due to this)
2017-09-10 10:33:53 -05:00
Todd
2f3a3e2574 schema: add generated comment line
This causes some tools to ignore the generated code.
2017-09-09 11:02:39 -05:00
wangguoliang
6541491518 misspelling 2017-09-07 22:05:29 -04:00
Todd
80fc93a1a7 spreadsheet: add support for rich text within a cell 2017-09-06 15:20:51 -04:00
Todd
efd87b7cc3 schema: update to 5th edition transitional 2017-09-05 15:31:31 -05:00
Todd
b8bfe8129e schema: allow multiple anchors
Required for multiple charts in a single drawing.
2017-09-05 08:07:28 -05:00
Todd
e83404616d Revert "schema: apply more default values"
This caused problems with Libre.

This reverts commit 59b2711e1b87be534c9cd3d155710d13cfe7743b.
2017-09-05 06:33:38 -05:00
Todd
59b2711e1b schema: apply more default values
These are implied values as they are the defaults in the XSD
for optional attributes/elements. However I've noticed that
I keep running into issues where Mac Excel/Word fail to open
a file unless an optional default is provided.

I'll just add them all to hopefully increase compatibility and
save painful file format debugging sessions later.
2017-09-04 17:14:06 -05:00
Todd
45fe2ad00c schema: fix element with duplicate attrs on synthetic elements 2017-09-04 15:01:14 -05:00
Todd
b959b47d29 schema: fix serialization of unions of native go types
We were wrapping the union with an extra element that
wasn't needed.
2017-09-04 15:01:14 -05:00
Todd
ba68d59d67 schema: serialize booleans as 1/0 instead of true/false
This matches what the MS products and LibreOffice do.
2017-09-04 11:08:29 -05:00
Todd
704a4c6963 schema: remove support for multiple drawing anchors
The OOXML XSD allows it, but I don't see a need for it and
it makes the code more complex keeping it.
2017-09-04 11:08:29 -05:00
Todd
dc920417d0 schema: change some charting related slices to singular 2017-09-04 11:08:29 -05:00
Todd
d3a4f7b5c3 schema: fix issue where a group was an element of a choice
The group as a whole is the choice, not its individual elements.
We don't validate this properly, but it does round-trip correctly.
2017-09-04 11:08:29 -05:00
Todd
3adb927df2 schema: qualify chart elements 2017-09-04 11:08:29 -05:00
Todd
01c7b2b8e7 schema: fix error attempting to unmarshal a non-pointer 2017-09-04 11:08:29 -05:00
Todd
4004c7d49d schema: remove unused code 2017-09-04 11:08:29 -05:00
Todd
bbc2b9fde2 schema: add marshal/unmarshal on a newly created type 2017-09-02 13:13:12 -05:00
Todd
a9cf6c7867 schema: cleanup
- force qualify spreadsheet drawing elements
- treat EG_RPrBase as singular, meaning we can move it's elements up a level
2017-09-02 11:16:56 -05:00
Todd
3e3b42c2a9 schema: remove some unneeded conversions 2017-09-01 19:26:26 -05:00
Todd
7d798273eb document: support round tripping unknown elements on document/settings 2017-09-01 17:13:33 -05:00
Todd
f28708bf97 schema: add better error messages when unmarshaling an unknown element 2017-09-01 17:13:33 -05:00
Todd
35912f079b schema: add comments to validate methods 2017-09-01 15:42:20 -05:00
Todd
d1d44902d1 schema: remove un-needed attr clearing 2017-09-01 15:42:20 -05:00
Todd
7c630b0030 schema: update prefix for http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes
Use the same prefix that Word uses
2017-08-31 22:17:52 -05:00
Todd
84b30dd75a schema: handle nested choices 2017-08-31 22:17:52 -05:00
Todd
16cda3ea7a schema: treat xsd:integer as 64 bit
It's arbitrary precision per XSD, so may have to
change again. Treating it as a 64 bit value for now.
2017-08-31 18:12:29 -05:00
Todd
5f7ff0029f schema: add constructor tests 2017-08-30 20:17:09 -05:00
Todd
2d3cc73ea6 schema: initialize non-optional members in constructors
- initialize enums
- initialize native types using constraints
- initialize patterns
2017-08-30 20:17:09 -05:00
Todd
0da5ce4a82 schema: rework xsd:any type 2017-08-29 22:40:44 -05:00
Todd
c22fc148de schema: qualify core properties 2017-08-29 22:40:44 -05:00
Todd
8e3907464b schema: handle occurs=multi sequence elements 2017-08-29 22:40:44 -05:00
Todd
105ef6916e document: read/restore all contents of a Word 2016 file
Adds support for serializing/deserializing of:

- webSettings
- fontTable
- endnotes
- footnotes
- themes
- optional numbering
2017-08-29 22:40:44 -05:00
Todd
366c3b51ec schema: rework xsd:any handling 2017-08-29 16:55:03 -05:00
Todd
4bd04dd2e5 initial commit 2017-08-29 15:06:08 -05:00