summaryrefslogtreecommitdiffhomepage
path: root/lib/axlsx/util/constants.rb
blob: c37b596ab7d31f01dbd78f8165b9b86e6931f2a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
# encoding: UTF-8
module Axlsx

  # XML Encoding
  ENCODING = "UTF-8"

  # spreadsheetML namespace
  XML_NS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main"

  # content-types namespace
  XML_NS_T = "http://schemas.openxmlformats.org/package/2006/content-types"

  # extended-properties namespace
  APP_NS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"

  # doc props namespace
  APP_NS_VT = "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"

  # core properties namespace
  CORE_NS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"

  # dc elements (core) namespace
  CORE_NS_DC = "http://purl.org/dc/elements/1.1/"

  # dcmit (core) namespcace
  CORE_NS_DCMIT = "http://purl.org/dc/dcmitype/"

  # dc terms namespace
  CORE_NS_DCT = "http://purl.org/dc/terms/"

  # xml schema namespace
  CORE_NS_XSI = "http://www.w3.org/2001/XMLSchema-instance"

  # spreadsheet drawing namespace
  XML_NS_XDR = "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"

  # drawing namespace
  XML_NS_A  = "http://schemas.openxmlformats.org/drawingml/2006/main"

  # chart namespace
  XML_NS_C  = "http://schemas.openxmlformats.org/drawingml/2006/chart"

  # relationships namespace
  XML_NS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships"

  # relationships name space
  RELS_R = "http://schemas.openxmlformats.org/package/2006/relationships"

  # table rels namespace
  TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table"

  # workbook rels namespace
  WORKBOOK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"

  # worksheet rels namespace
  WORKSHEET_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"

  # app rels namespace
  APP_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"

  # core rels namespace
  CORE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/metadata/core-properties"

  # styles rels namespace
  STYLES_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"

  # shared strings namespace
  SHARED_STRINGS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"

  # drawing rels namespace
  DRAWING_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"

  # chart rels namespace
  CHART_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"

  # image rels namespace
  IMAGE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"

  # image rels namespace
  HYPERLINK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"

  # table content type
  TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"

  # workbook content type
  WORKBOOK_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"

  # app content type
  APP_CT = "application/vnd.openxmlformats-officedocument.extended-properties+xml"

  # rels content type
  RELS_CT = "application/vnd.openxmlformats-package.relationships+xml"

  # styles content type
  STYLES_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"

  # xml content type
  XML_CT = "application/xml"

  # worksheet content type
  WORKSHEET_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"

  # shared strings content type
  SHARED_STRINGS_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"

  # core content type
  CORE_CT = "application/vnd.openxmlformats-package.core-properties+xml"

  # chart content type
  CHART_CT = "application/vnd.openxmlformats-officedocument.drawingml.chart+xml"

  # jpeg content type
  JPEG_CT = "image/jpeg"

  # gif content type
  GIF_CT = "image/gif"

  # png content type
  PNG_CT = "image/png"

  #drawing content type
  DRAWING_CT = "application/vnd.openxmlformats-officedocument.drawing+xml"

  # xml content type extensions
  XML_EX = "xml"

  # jpeg extension
  JPEG_EX = "jpeg"

  # gif extension
  GIF_EX = "gif"

  # png extension
  PNG_EX = "png"

  # rels content type extension
  RELS_EX = "rels"

  # workbook part
  WORKBOOK_PN = "xl/workbook.xml"

  # styles part
  STYLES_PN = "styles.xml"

  # shared_strings  part
  SHARED_STRINGS_PN = "sharedStrings.xml"

  # app part
  APP_PN = "docProps/app.xml"

  # core part
  CORE_PN = "docProps/core.xml"

  # content types part
  CONTENT_TYPES_PN = "[Content_Types].xml"

  # rels part
  RELS_PN = "_rels/.rels"

  # workbook rels part
  WORKBOOK_RELS_PN = "xl/_rels/workbook.xml.rels"

  # worksheet part
  WORKSHEET_PN = "worksheets/sheet%d.xml"

  # worksheet rels part
  WORKSHEET_RELS_PN = "worksheets/_rels/sheet%d.xml.rels"

  # drawing part
  DRAWING_PN = "drawings/drawing%d.xml"

  # drawing rels part
  DRAWING_RELS_PN = "drawings/_rels/drawing%d.xml.rels"

  # drawing part
  TABLE_PN = "tables/table%d.xml"

  # chart part
  CHART_PN = "charts/chart%d.xml"

  # chart part
  IMAGE_PN = "media/image%d.%s"

  # location of schema files for validation
  SCHEMA_BASE = File.dirname(__FILE__)+'/../../schema/'

  # App validation schema
  APP_XSD = SCHEMA_BASE + "shared-documentPropertiesExtended.xsd"

  # core validation schema
  CORE_XSD = SCHEMA_BASE + "opc-coreProperties.xsd"

  # content types validation schema
  CONTENT_TYPES_XSD = SCHEMA_BASE + "opc-contentTypes.xsd"

  # rels validation schema
  RELS_XSD = SCHEMA_BASE + "opc-relationships.xsd"

  # spreadsheetML validation schema
  SML_XSD = SCHEMA_BASE + "sml.xsd"

  # drawing validation schema
  DRAWING_XSD = SCHEMA_BASE + "dml-spreadsheetDrawing.xsd"

  # number format id for pecentage formatting using the default formatting id.
  NUM_FMT_PERCENT = 9

  # number format id for date format like 2011/11/13
  NUM_FMT_YYYYMMDD = 100

  # number format id for time format the creates 2011/11/13 12:23:10
  NUM_FMT_YYYYMMDDHHMMSS = 101

  # cellXfs id for thin borders around the cell
  STYLE_THIN_BORDER = 1

  # cellXfs id for default date styling
  STYLE_DATE = 2

  # error messages RestrictionValidor
  ERR_RESTRICTION = "Invalid Data: %s. %s must be one of %s."

  # error message DataTypeValidator
  ERR_TYPE = "Invalid Data %s for %s. must be %s."

  # error message for RegexValidator
  ERR_REGEX = "Invalid Data. %s does not match %s."

  # error message for sheets that use a name which is longer than 31 bytes
  ERR_SHEET_NAME_TOO_LONG = "Your worksheet name '%s' is too long. Worksheet names must be 31 characters (bytes) or less"

  # error message for duplicate sheet names
  ERR_DUPLICATE_SHEET_NAME = "There is already a worksheet in this workbook named '%s'. Please use a unique name"

end