axlsx 1.1.3 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.yardopts +5 -2
- data/CHANGELOG.md +60 -0
- data/LICENSE +1 -1
- data/README.md +115 -415
- data/Rakefile +11 -3
- data/examples/basic_charts.rb +54 -0
- data/examples/chart_colors.rb +88 -0
- data/examples/data_validation.rb +50 -0
- data/examples/example.rb +299 -155
- data/examples/example.xlsx +0 -0
- data/examples/example_streamed.xlsx +0 -0
- data/examples/extractive.pdf +0 -0
- data/examples/extractive.rb +45 -0
- data/examples/no-use_autowidth.xlsx +0 -0
- data/examples/scraping_html.rb +91 -0
- data/examples/shared_strings_example.xlsx +0 -0
- data/examples/sheet_protection.rb +10 -0
- data/examples/sheet_view.rb +34 -0
- data/examples/two_cell_anchor_image.rb +11 -0
- data/lib/axlsx/content_type/content_type.rb +2 -0
- data/lib/axlsx/content_type/default.rb +30 -15
- data/lib/axlsx/content_type/override.rb +29 -14
- data/lib/axlsx/doc_props/app.rb +161 -104
- data/lib/axlsx/doc_props/core.rb +9 -5
- data/lib/axlsx/drawing/ax_data_source.rb +26 -0
- data/lib/axlsx/drawing/axis.rb +92 -37
- data/lib/axlsx/drawing/bar_3D_chart.rb +49 -45
- data/lib/axlsx/drawing/bar_series.rb +25 -7
- data/lib/axlsx/drawing/cat_axis.rb +50 -22
- data/lib/axlsx/drawing/chart.rb +69 -56
- data/lib/axlsx/drawing/d_lbls.rb +100 -0
- data/lib/axlsx/drawing/drawing.rb +28 -12
- data/lib/axlsx/drawing/graphic_frame.rb +2 -1
- data/lib/axlsx/drawing/line_3D_chart.rb +3 -10
- data/lib/axlsx/drawing/line_series.rb +20 -4
- data/lib/axlsx/drawing/num_data.rb +52 -0
- data/lib/axlsx/drawing/num_data_source.rb +61 -0
- data/lib/axlsx/drawing/num_val.rb +32 -0
- data/lib/axlsx/drawing/pic.rb +44 -4
- data/lib/axlsx/drawing/pie_3D_chart.rb +10 -7
- data/lib/axlsx/drawing/pie_series.rb +18 -4
- data/lib/axlsx/drawing/scatter_chart.rb +2 -8
- data/lib/axlsx/drawing/scatter_series.rb +28 -2
- data/lib/axlsx/drawing/ser_axis.rb +1 -1
- data/lib/axlsx/drawing/series.rb +1 -1
- data/lib/axlsx/drawing/str_data.rb +42 -0
- data/lib/axlsx/drawing/str_val.rb +33 -0
- data/lib/axlsx/drawing/title.rb +21 -9
- data/lib/axlsx/drawing/two_cell_anchor.rb +46 -9
- data/lib/axlsx/drawing/view_3D.rb +44 -31
- data/lib/axlsx/drawing/vml_drawing.rb +42 -0
- data/lib/axlsx/drawing/vml_shape.rb +125 -0
- data/lib/axlsx/package.rb +44 -16
- data/lib/axlsx/rels/relationship.rb +3 -3
- data/lib/axlsx/rels/relationships.rb +1 -11
- data/lib/axlsx/stylesheet/gradient_fill.rb +1 -1
- data/lib/axlsx/stylesheet/styles.rb +1 -1
- data/lib/axlsx/stylesheet/table_style.rb +3 -3
- data/lib/axlsx/util/constants.rb +28 -0
- data/lib/axlsx/util/simple_typed_list.rb +15 -21
- data/lib/axlsx/util/validators.rb +81 -8
- data/lib/axlsx/version.rb +2 -7
- data/lib/axlsx/workbook/defined_name.rb +174 -0
- data/lib/axlsx/workbook/defined_names.rb +21 -0
- data/lib/axlsx/workbook/workbook.rb +65 -13
- data/lib/axlsx/workbook/worksheet/auto_filter.rb +34 -0
- data/lib/axlsx/workbook/worksheet/cell.rb +35 -7
- data/lib/axlsx/workbook/worksheet/col.rb +17 -1
- data/lib/axlsx/workbook/worksheet/cols.rb +20 -0
- data/lib/axlsx/workbook/worksheet/comment.rb +101 -0
- data/lib/axlsx/workbook/worksheet/comments.rb +85 -0
- data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -0
- data/lib/axlsx/workbook/worksheet/data_bar.rb +1 -1
- data/lib/axlsx/workbook/worksheet/data_validation.rb +245 -0
- data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -0
- data/lib/axlsx/workbook/worksheet/dimension.rb +65 -0
- data/lib/axlsx/workbook/worksheet/merged_cells.rb +35 -0
- data/lib/axlsx/workbook/worksheet/page_setup.rb +113 -0
- data/lib/axlsx/workbook/worksheet/pane.rb +144 -0
- data/lib/axlsx/workbook/worksheet/print_options.rb +63 -0
- data/lib/axlsx/workbook/worksheet/protected_range.rb +46 -0
- data/lib/axlsx/workbook/worksheet/protected_ranges.rb +34 -0
- data/lib/axlsx/workbook/worksheet/row.rb +67 -12
- data/lib/axlsx/workbook/worksheet/selection.rb +111 -0
- data/lib/axlsx/workbook/worksheet/sheet_data.rb +25 -0
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +24 -0
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +224 -0
- data/lib/axlsx/workbook/worksheet/sheet_view.rb +379 -0
- data/lib/axlsx/workbook/worksheet/table.rb +3 -3
- data/lib/axlsx/workbook/worksheet/tables.rb +31 -0
- data/lib/axlsx/workbook/worksheet/worksheet.rb +377 -255
- data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +57 -0
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +64 -0
- data/lib/axlsx.rb +30 -15
- data/test/content_type/tc_content_type.rb +1 -6
- data/test/doc_props/tc_app.rb +31 -1
- data/test/doc_props/tc_core.rb +3 -1
- data/test/drawing/tc_axis.rb +38 -3
- data/test/drawing/tc_bar_3D_chart.rb +12 -12
- data/test/drawing/tc_bar_series.rb +17 -13
- data/test/drawing/tc_cat_axis.rb +3 -3
- data/test/drawing/tc_cat_axis_data.rb +23 -13
- data/test/drawing/tc_chart.rb +29 -11
- data/test/drawing/tc_d_lbls.rb +47 -0
- data/test/drawing/tc_data_source.rb +17 -0
- data/test/drawing/tc_drawing.rb +11 -5
- data/test/drawing/tc_hyperlink.rb +4 -5
- data/test/drawing/tc_line_series.rb +9 -11
- data/test/drawing/tc_named_axis_data.rb +27 -0
- data/test/drawing/tc_num_data.rb +31 -0
- data/test/drawing/tc_num_val.rb +29 -0
- data/test/drawing/tc_pic.rb +22 -2
- data/test/drawing/tc_pie_3D_chart.rb +4 -8
- data/test/drawing/tc_pie_series.rb +11 -13
- data/test/drawing/tc_scatter_chart.rb +6 -1
- data/test/drawing/tc_scatter_series.rb +6 -5
- data/test/drawing/tc_series.rb +1 -1
- data/test/drawing/tc_str_data.rb +18 -0
- data/test/drawing/tc_str_val.rb +21 -0
- data/test/drawing/tc_title.rb +16 -0
- data/test/drawing/tc_two_cell_anchor.rb +2 -3
- data/test/drawing/tc_view_3D.rb +18 -18
- data/test/drawing/tc_vml_drawing.rb +25 -0
- data/test/drawing/tc_vml_shape.rb +100 -0
- data/test/rels/tc_relationship.rb +1 -0
- data/test/stylesheet/tc_gradient_fill.rb +8 -0
- data/test/stylesheet/tc_pattern_fill.rb +7 -1
- data/test/stylesheet/tc_styles.rb +3 -4
- data/test/stylesheet/tc_table_style.rb +8 -0
- data/test/stylesheet/tc_table_style_element.rb +10 -1
- data/test/tc_helper.rb +1 -0
- data/test/tc_package.rb +93 -17
- data/test/util/tc_simple_typed_list.rb +13 -0
- data/test/util/tc_validators.rb +95 -9
- data/test/workbook/tc_defined_name.rb +41 -0
- data/test/workbook/tc_workbook.rb +5 -3
- data/test/workbook/worksheet/table/tc_table.rb +3 -11
- data/test/workbook/worksheet/tc_cell.rb +30 -6
- data/test/workbook/worksheet/tc_col.rb +9 -0
- data/test/workbook/worksheet/tc_comment.rb +57 -0
- data/test/workbook/worksheet/tc_comments.rb +57 -0
- data/test/workbook/worksheet/tc_conditional_formatting.rb +44 -0
- data/test/workbook/worksheet/tc_data_bar.rb +1 -1
- data/test/workbook/worksheet/tc_data_validation.rb +265 -0
- data/test/workbook/worksheet/tc_page_setup.rb +138 -0
- data/test/workbook/worksheet/tc_pane.rb +94 -0
- data/test/workbook/worksheet/tc_print_options.rb +72 -0
- data/test/workbook/worksheet/tc_protected_range.rb +17 -0
- data/test/workbook/worksheet/tc_row.rb +36 -12
- data/test/workbook/worksheet/tc_selection.rb +94 -0
- data/test/workbook/worksheet/tc_sheet_protection.rb +117 -0
- data/test/workbook/worksheet/tc_sheet_view.rb +214 -0
- data/test/workbook/worksheet/tc_worksheet.rb +138 -48
- metadata +164 -52
- data/examples/example.csv +0 -1000
- data/lib/axlsx/drawing/cat_axis_data.rb +0 -34
- data/lib/axlsx/drawing/hlink_click.rb~ +0 -0
- data/lib/axlsx/drawing/hyperlink.rb~ +0 -64
- data/lib/axlsx/drawing/named_axis_data.rb +0 -36
- data/lib/axlsx/drawing/picture_locking.rb~ +0 -36
- data/lib/axlsx/drawing/val_axis_data.rb +0 -27
- data/lib/axlsx/util/cbf.rb +0 -333
- data/lib/axlsx/util/cfb.rb~ +0 -201
- data/lib/axlsx/util/font_tables.rb~ +0 -0
- data/lib/axlsx/util/ms_off_crypto.rb +0 -189
- data/lib/axlsx/util/ms_off_crypto.rb~ +0 -3
- data/lib/axlsx/util/ms_offcrypto.rb~ +0 -0
- data/lib/axlsx/util/parser.rb~ +0 -6
- data/lib/axlsx/util/storage.rb~ +0 -0
- data/lib/axlsx/workbook/shared_strings_table.rb~ +0 -69
- data/lib/axlsx/workbook/worksheet/cfvo.rb~ +0 -0
- data/lib/axlsx/workbook/worksheet/col.rb~ +0 -0
- data/lib/axlsx/workbook/worksheet/color_scale.rb~ +0 -46
- data/lib/axlsx/workbook/worksheet/data_bar.rb~ +0 -0
- data/lib/axlsx/workbook/worksheet/icon_set.rb~ +0 -95
- data/lib/axlsx/workbook/worksheet/shared_strings_table.rb~ +0 -0
- data/lib/axlsx/workbook/worksheet/table.rb~ +0 -97
- data/lib/schema/dc.xsd~ +0 -118
- data/lib/schema/dcterms.xsd~ +0 -331
- data/lib/schema/opc-coreProperties.xsd~ +0 -50
- data/test/drawing/tc_val_axis_data.rb +0 -17
- data/test/workbook/worksheet/table/tc_table.rb~ +0 -72
- data/test/workbook/worksheet/tc_cfvo.rb~ +0 -20
- data/test/workbook/worksheet/tc_col.rb~ +0 -10
- data/test/workbook/worksheet/tc_color_scale.rb~ +0 -0
- data/test/workbook/worksheet/tc_data_bar.rb~ +0 -0
- data/test/workbook/worksheet/tc_icon_set.rb~ +0 -0
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
module Axlsx
|
|
3
|
-
# Table
|
|
4
|
-
# @note Worksheet#add_table is the recommended way to create charts for your worksheets.
|
|
5
|
-
# @see README for examples
|
|
6
|
-
class Table
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
# The reference to the table data
|
|
10
|
-
# @return [String]
|
|
11
|
-
attr_reader :ref
|
|
12
|
-
|
|
13
|
-
# The name of the table.
|
|
14
|
-
# @return [String]
|
|
15
|
-
attr_reader :name
|
|
16
|
-
|
|
17
|
-
# The style for the table.
|
|
18
|
-
# @return [TableStyle]
|
|
19
|
-
attr_reader :style
|
|
20
|
-
|
|
21
|
-
# Creates a new Table object
|
|
22
|
-
# @param [String] ref The reference to the table data.
|
|
23
|
-
# @param [Sheet] ref The sheet containing the table data.
|
|
24
|
-
# @option options [Cell, String] name
|
|
25
|
-
# @option options [TableStyle] style
|
|
26
|
-
def initialize(ref, sheet, options={})
|
|
27
|
-
@ref = ref
|
|
28
|
-
@sheet = sheet
|
|
29
|
-
@style = nil
|
|
30
|
-
@sheet.workbook.tables << self
|
|
31
|
-
@name = "Table#{index+1}"
|
|
32
|
-
options.each do |o|
|
|
33
|
-
self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
|
|
34
|
-
end
|
|
35
|
-
yield self if block_given?
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
# The index of this chart in the workbooks charts collection
|
|
39
|
-
# @return [Integer]
|
|
40
|
-
def index
|
|
41
|
-
@sheet.workbook.tables.index(self)
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
# The part name for this table
|
|
45
|
-
# @return [String]
|
|
46
|
-
def pn
|
|
47
|
-
"#{TABLE_PN % (index+1)}"
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
# The relation reference id for this table
|
|
51
|
-
# @return [String]
|
|
52
|
-
def rId
|
|
53
|
-
"rId#{index+1}"
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
# The name of the Table.
|
|
57
|
-
# @param [String, Cell] v
|
|
58
|
-
# @return [Title]
|
|
59
|
-
def name=(v)
|
|
60
|
-
DataTypeValidator.validate "#{self.class}.name", [String], v
|
|
61
|
-
if v.is_a?(String)
|
|
62
|
-
@name = v
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
# The style for the table.
|
|
68
|
-
# TODO
|
|
69
|
-
# def style=(v) DataTypeValidator.validate "Chart.style", Integer, v, lambda { |arg| arg >= 1 && arg <= 48 }; @style = v; end
|
|
70
|
-
|
|
71
|
-
# Table Serialization
|
|
72
|
-
# serializes the table
|
|
73
|
-
def to_xml
|
|
74
|
-
builder = Nokogiri::XML::Builder.new(:encoding => ENCODING) do |xml|
|
|
75
|
-
xml.table(:xmlns => XML_NS, :id => index+1, :name => @name, :displayName => @name.gsub(/\s/,'_'), :ref => @ref, :totalsRowShown => 0) {
|
|
76
|
-
xml.autoFilter :ref=>@ref
|
|
77
|
-
xml.tableColumns(:count => header_cells.length) {
|
|
78
|
-
header_cells.each_with_index do |cell,index|
|
|
79
|
-
xml.tableColumn :id => index+1, :name => cell.value
|
|
80
|
-
end
|
|
81
|
-
}
|
|
82
|
-
xml.tableStyleInfo :showFirstColumn=>"0", :showLastColumn=>"0", :showRowStripes=>"1", :showColumnStripes=>"0", :name=>"TableStyleMedium9"
|
|
83
|
-
#TODO implement tableStyleInfo
|
|
84
|
-
}
|
|
85
|
-
end
|
|
86
|
-
builder.to_xml(:save_with => 0)
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
private
|
|
90
|
-
|
|
91
|
-
# get the header cells (hackish)
|
|
92
|
-
def header_cells
|
|
93
|
-
header = @ref.gsub(/^(\w+)(\d+)\:(\w+)\d+$/, '\1\2:\3\2')
|
|
94
|
-
@sheet[header]
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
data/lib/schema/dc.xsd~
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
3
|
-
xmlns="http://purl.org/dc/elements/1.1/"
|
|
4
|
-
targetNamespace="http://purl.org/dc/elements/1.1/"
|
|
5
|
-
elementFormDefault="qualified"
|
|
6
|
-
attributeFormDefault="unqualified">
|
|
7
|
-
|
|
8
|
-
<xs:annotation>
|
|
9
|
-
<xs:documentation xml:lang="en">
|
|
10
|
-
DCMES 1.1 XML Schema
|
|
11
|
-
XML Schema for http://purl.org/dc/elements/1.1/ namespace
|
|
12
|
-
|
|
13
|
-
Created 2003-04-02
|
|
14
|
-
|
|
15
|
-
Created by
|
|
16
|
-
|
|
17
|
-
Tim Cole (t-cole3@uiuc.edu)
|
|
18
|
-
Tom Habing (thabing@uiuc.edu)
|
|
19
|
-
Jane Hunter (jane@dstc.edu.au)
|
|
20
|
-
Pete Johnston (p.johnston@ukoln.ac.uk),
|
|
21
|
-
Carl Lagoze (lagoze@cs.cornell.edu)
|
|
22
|
-
|
|
23
|
-
This schema declares XML elements for the 15 DC elements from the
|
|
24
|
-
http://purl.org/dc/elements/1.1/ namespace.
|
|
25
|
-
|
|
26
|
-
It defines a complexType SimpleLiteral which permits mixed content
|
|
27
|
-
and makes the xml:lang attribute available. It disallows child elements by
|
|
28
|
-
use of minOcccurs/maxOccurs.
|
|
29
|
-
|
|
30
|
-
However, this complexType does permit the derivation of other complexTypes
|
|
31
|
-
which would permit child elements.
|
|
32
|
-
|
|
33
|
-
All elements are declared as substitutable for the abstract element any,
|
|
34
|
-
which means that the default type for all elements is dc:SimpleLiteral.
|
|
35
|
-
|
|
36
|
-
</xs:documentation>
|
|
37
|
-
|
|
38
|
-
</xs:annotation>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
|
|
42
|
-
schemaLocation="http://www.w3.org/2001/03/xml.xsd">
|
|
43
|
-
</xs:import>
|
|
44
|
-
|
|
45
|
-
<xs:complexType name="SimpleLiteral">
|
|
46
|
-
<xs:annotation>
|
|
47
|
-
<xs:documentation xml:lang="en">
|
|
48
|
-
This is the default type for all of the DC elements.
|
|
49
|
-
It permits text content only with optional
|
|
50
|
-
xml:lang attribute.
|
|
51
|
-
Text is allowed because mixed="true", but sub-elements
|
|
52
|
-
are disallowed because minOccurs="0" and maxOccurs="0"
|
|
53
|
-
are on the xs:any tag.
|
|
54
|
-
|
|
55
|
-
This complexType allows for restriction or extension permitting
|
|
56
|
-
child elements.
|
|
57
|
-
</xs:documentation>
|
|
58
|
-
</xs:annotation>
|
|
59
|
-
|
|
60
|
-
<xs:complexContent mixed="true">
|
|
61
|
-
<xs:restriction base="xs:anyType">
|
|
62
|
-
<xs:sequence>
|
|
63
|
-
<xs:any processContents="lax" minOccurs="0" maxOccurs="0"/>
|
|
64
|
-
</xs:sequence>
|
|
65
|
-
<xs:attribute ref="xml:lang" use="optional"/>
|
|
66
|
-
</xs:restriction>
|
|
67
|
-
</xs:complexContent>
|
|
68
|
-
</xs:complexType>
|
|
69
|
-
|
|
70
|
-
<xs:element name="any" type="SimpleLiteral" abstract="true"/>
|
|
71
|
-
|
|
72
|
-
<xs:element name="title" substitutionGroup="any"/>
|
|
73
|
-
<xs:element name="creator" substitutionGroup="any"/>
|
|
74
|
-
<xs:element name="subject" substitutionGroup="any"/>
|
|
75
|
-
<xs:element name="description" substitutionGroup="any"/>
|
|
76
|
-
<xs:element name="publisher" substitutionGroup="any"/>
|
|
77
|
-
<xs:element name="contributor" substitutionGroup="any"/>
|
|
78
|
-
<xs:element name="date" substitutionGroup="any"/>
|
|
79
|
-
<xs:element name="type" substitutionGroup="any"/>
|
|
80
|
-
<xs:element name="format" substitutionGroup="any"/>
|
|
81
|
-
<xs:element name="identifier" substitutionGroup="any"/>
|
|
82
|
-
<xs:element name="source" substitutionGroup="any"/>
|
|
83
|
-
<xs:element name="language" substitutionGroup="any"/>
|
|
84
|
-
<xs:element name="relation" substitutionGroup="any"/>
|
|
85
|
-
<xs:element name="coverage" substitutionGroup="any"/>
|
|
86
|
-
<xs:element name="rights" substitutionGroup="any"/>
|
|
87
|
-
|
|
88
|
-
<xs:group name="elementsGroup">
|
|
89
|
-
<xs:annotation>
|
|
90
|
-
<xs:documentation xml:lang="en">
|
|
91
|
-
This group is included as a convenience for schema authors
|
|
92
|
-
who need to refer to all the elements in the
|
|
93
|
-
http://purl.org/dc/elements/1.1/ namespace.
|
|
94
|
-
</xs:documentation>
|
|
95
|
-
</xs:annotation>
|
|
96
|
-
|
|
97
|
-
<xs:sequence>
|
|
98
|
-
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
99
|
-
<xs:element ref="any"/>
|
|
100
|
-
</xs:choice>
|
|
101
|
-
</xs:sequence>
|
|
102
|
-
</xs:group>
|
|
103
|
-
|
|
104
|
-
<xs:complexType name="elementContainer">
|
|
105
|
-
<xs:annotation>
|
|
106
|
-
<xs:documentation xml:lang="en">
|
|
107
|
-
This complexType is included as a convenience for schema authors who need to define a root
|
|
108
|
-
or container element for all of the DC elements.
|
|
109
|
-
</xs:documentation>
|
|
110
|
-
</xs:annotation>
|
|
111
|
-
|
|
112
|
-
<xs:choice>
|
|
113
|
-
<xs:group ref="elementsGroup"/>
|
|
114
|
-
</xs:choice>
|
|
115
|
-
</xs:complexType>
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
</xs:schema>
|
data/lib/schema/dcterms.xsd~
DELETED
|
@@ -1,331 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
3
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
4
|
-
xmlns:dcmitype="http://purl.org/dc/dcmitype/"
|
|
5
|
-
targetNamespace="http://purl.org/dc/terms/"
|
|
6
|
-
xmlns="http://purl.org/dc/terms/"
|
|
7
|
-
elementFormDefault="qualified"
|
|
8
|
-
attributeFormDefault="unqualified">
|
|
9
|
-
|
|
10
|
-
<xs:annotation>
|
|
11
|
-
<xs:documentation xml:lang="en">
|
|
12
|
-
DCterms XML Schema
|
|
13
|
-
XML Schema for http://purl.org/dc/terms/ namespace
|
|
14
|
-
|
|
15
|
-
Created 2003-04-02
|
|
16
|
-
|
|
17
|
-
Created by
|
|
18
|
-
|
|
19
|
-
Tim Cole (t-cole3@uiuc.edu)
|
|
20
|
-
Tom Habing (thabing@uiuc.edu)
|
|
21
|
-
Jane Hunter (jane@dstc.edu.au)
|
|
22
|
-
Pete Johnston (p.johnston@ukoln.ac.uk),
|
|
23
|
-
Carl Lagoze (lagoze@cs.cornell.edu)
|
|
24
|
-
|
|
25
|
-
This schema declares XML elements for the DC elements and
|
|
26
|
-
DC element refinements from the http://purl.org/dc/terms/ namespace.
|
|
27
|
-
|
|
28
|
-
It reuses the complexType dc:SimpleLiteral, imported from the dc.xsd
|
|
29
|
-
schema, which permits simple element content, and makes the xml:lang
|
|
30
|
-
attribute available.
|
|
31
|
-
|
|
32
|
-
This complexType permits the derivation of other complexTypes
|
|
33
|
-
which would permit child elements.
|
|
34
|
-
|
|
35
|
-
DC elements are declared as substitutable for the abstract element dc:any, and
|
|
36
|
-
DC element refinements are defined as substitutable for the base elements
|
|
37
|
-
which they refine.
|
|
38
|
-
|
|
39
|
-
This means that the default type for all XML elements (i.e. all DC elements and
|
|
40
|
-
element refinements) is dc:SimpleLiteral.
|
|
41
|
-
|
|
42
|
-
Encoding schemes are defined as complexTypes which are restrictions
|
|
43
|
-
of the dc:SimpleLiteral complexType. These complexTypes restrict
|
|
44
|
-
values to an appropriates syntax or format using data typing,
|
|
45
|
-
regular expressions, or enumerated lists.
|
|
46
|
-
|
|
47
|
-
In order to specify one of these encodings an xsi:type attribute must
|
|
48
|
-
be used in the instance document.
|
|
49
|
-
|
|
50
|
-
Also, note that one shortcoming of this approach is that any type can be
|
|
51
|
-
applied to any of the elements or refinements. There is no convenient way
|
|
52
|
-
to restrict types to specific elements using this approach.
|
|
53
|
-
|
|
54
|
-
</xs:documentation>
|
|
55
|
-
|
|
56
|
-
</xs:annotation>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
|
|
60
|
-
schemaLocation="http://www.w3.org/2001/03/xml.xsd">
|
|
61
|
-
</xs:import>
|
|
62
|
-
|
|
63
|
-
<xs:import namespace="http://purl.org/dc/elements/1.1/"
|
|
64
|
-
schemaLocation="dc.xsd"/>
|
|
65
|
-
|
|
66
|
-
<xs:import namespace="http://purl.org/dc/dcmitype/"
|
|
67
|
-
schemaLocation="dcmitype.xsd"/>
|
|
68
|
-
|
|
69
|
-
<xs:element name="alternative" substitutionGroup="dc:title"/>
|
|
70
|
-
|
|
71
|
-
<xs:element name="tableOfContents" substitutionGroup="dc:description"/>
|
|
72
|
-
<xs:element name="abstract" substitutionGroup="dc:description"/>
|
|
73
|
-
|
|
74
|
-
<xs:element name="created" substitutionGroup="dc:date"/>
|
|
75
|
-
<xs:element name="valid" substitutionGroup="dc:date"/>
|
|
76
|
-
<xs:element name="available" substitutionGroup="dc:date"/>
|
|
77
|
-
<xs:element name="issued" substitutionGroup="dc:date"/>
|
|
78
|
-
<xs:element name="modified" substitutionGroup="dc:date"/>
|
|
79
|
-
<xs:element name="dateAccepted" substitutionGroup="dc:date"/>
|
|
80
|
-
<xs:element name="dateCopyrighted" substitutionGroup="dc:date"/>
|
|
81
|
-
<xs:element name="dateSubmitted" substitutionGroup="dc:date"/>
|
|
82
|
-
|
|
83
|
-
<xs:element name="extent" substitutionGroup="dc:format"/>
|
|
84
|
-
<xs:element name="medium" substitutionGroup="dc:format"/>
|
|
85
|
-
|
|
86
|
-
<xs:element name="isVersionOf" substitutionGroup="dc:relation"/>
|
|
87
|
-
<xs:element name="hasVersion" substitutionGroup="dc:relation"/>
|
|
88
|
-
<xs:element name="isReplacedBy" substitutionGroup="dc:relation"/>
|
|
89
|
-
<xs:element name="replaces" substitutionGroup="dc:relation"/>
|
|
90
|
-
<xs:element name="isRequiredBy" substitutionGroup="dc:relation"/>
|
|
91
|
-
<xs:element name="requires" substitutionGroup="dc:relation"/>
|
|
92
|
-
<xs:element name="isPartOf" substitutionGroup="dc:relation"/>
|
|
93
|
-
<xs:element name="hasPart" substitutionGroup="dc:relation"/>
|
|
94
|
-
<xs:element name="isReferencedBy" substitutionGroup="dc:relation"/>
|
|
95
|
-
<xs:element name="references" substitutionGroup="dc:relation"/>
|
|
96
|
-
<xs:element name="isFormatOf" substitutionGroup="dc:relation"/>
|
|
97
|
-
<xs:element name="hasFormat" substitutionGroup="dc:relation"/>
|
|
98
|
-
<xs:element name="conformsTo" substitutionGroup="dc:relation"/>
|
|
99
|
-
|
|
100
|
-
<xs:element name="spatial" substitutionGroup="dc:coverage"/>
|
|
101
|
-
<xs:element name="temporal" substitutionGroup="dc:coverage"/>
|
|
102
|
-
|
|
103
|
-
<xs:element name="audience" substitutionGroup="dc:any"/>
|
|
104
|
-
|
|
105
|
-
<xs:element name="mediator" substitutionGroup="audience"/>
|
|
106
|
-
<xs:element name="educationLevel" substitutionGroup="audience"/>
|
|
107
|
-
|
|
108
|
-
<xs:element name="accessRights" substitutionGroup="dc:rights"/>
|
|
109
|
-
|
|
110
|
-
<xs:element name="bibliographicCitation" substitutionGroup="dc:identifier"/>
|
|
111
|
-
|
|
112
|
-
<xs:complexType name="LCSH">
|
|
113
|
-
<xs:simpleContent>
|
|
114
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
115
|
-
<xs:simpleType>
|
|
116
|
-
<xs:restriction base="xs:string"/>
|
|
117
|
-
</xs:simpleType>
|
|
118
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
119
|
-
</xs:restriction>
|
|
120
|
-
</xs:simpleContent>
|
|
121
|
-
</xs:complexType>
|
|
122
|
-
|
|
123
|
-
<xs:complexType name="MESH">
|
|
124
|
-
<xs:simpleContent>
|
|
125
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
126
|
-
<xs:simpleType>
|
|
127
|
-
<xs:restriction base="xs:string"/>
|
|
128
|
-
</xs:simpleType>
|
|
129
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
130
|
-
</xs:restriction>
|
|
131
|
-
</xs:simpleContent>
|
|
132
|
-
</xs:complexType>
|
|
133
|
-
|
|
134
|
-
<xs:complexType name="DDC">
|
|
135
|
-
<xs:simpleContent>
|
|
136
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
137
|
-
<xs:simpleType>
|
|
138
|
-
<xs:restriction base="xs:string"/>
|
|
139
|
-
</xs:simpleType>
|
|
140
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
141
|
-
</xs:restriction>
|
|
142
|
-
</xs:simpleContent>
|
|
143
|
-
</xs:complexType>
|
|
144
|
-
|
|
145
|
-
<xs:complexType name="LCC">
|
|
146
|
-
<xs:simpleContent>
|
|
147
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
148
|
-
<xs:simpleType>
|
|
149
|
-
<xs:restriction base="xs:string"/>
|
|
150
|
-
</xs:simpleType>
|
|
151
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
152
|
-
</xs:restriction>
|
|
153
|
-
</xs:simpleContent>
|
|
154
|
-
</xs:complexType>
|
|
155
|
-
|
|
156
|
-
<xs:complexType name="UDC">
|
|
157
|
-
<xs:simpleContent>
|
|
158
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
159
|
-
<xs:simpleType>
|
|
160
|
-
<xs:restriction base="xs:string"/>
|
|
161
|
-
</xs:simpleType>
|
|
162
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
163
|
-
</xs:restriction>
|
|
164
|
-
</xs:simpleContent>
|
|
165
|
-
</xs:complexType>
|
|
166
|
-
|
|
167
|
-
<xs:complexType name="Period">
|
|
168
|
-
<xs:simpleContent>
|
|
169
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
170
|
-
<xs:simpleType>
|
|
171
|
-
<xs:restriction base="xs:string"/>
|
|
172
|
-
</xs:simpleType>
|
|
173
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
174
|
-
</xs:restriction>
|
|
175
|
-
</xs:simpleContent>
|
|
176
|
-
</xs:complexType>
|
|
177
|
-
|
|
178
|
-
<xs:complexType name="W3CDTF">
|
|
179
|
-
<xs:simpleContent>
|
|
180
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
181
|
-
<xs:simpleType>
|
|
182
|
-
<xs:union memberTypes="xs:gYear xs:gYearMonth xs:date xs:dateTime"/>
|
|
183
|
-
</xs:simpleType>
|
|
184
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
185
|
-
</xs:restriction>
|
|
186
|
-
</xs:simpleContent>
|
|
187
|
-
</xs:complexType>
|
|
188
|
-
|
|
189
|
-
<xs:complexType name="DCMIType">
|
|
190
|
-
<xs:simpleContent>
|
|
191
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
192
|
-
<xs:simpleType>
|
|
193
|
-
<xs:restriction base="dcmitype:DCMIType"/>
|
|
194
|
-
</xs:simpleType>
|
|
195
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
196
|
-
</xs:restriction>
|
|
197
|
-
</xs:simpleContent>
|
|
198
|
-
</xs:complexType>
|
|
199
|
-
|
|
200
|
-
<xs:complexType name="IMT">
|
|
201
|
-
<xs:simpleContent>
|
|
202
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
203
|
-
<xs:simpleType>
|
|
204
|
-
<xs:restriction base="xs:string"/>
|
|
205
|
-
</xs:simpleType>
|
|
206
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
207
|
-
</xs:restriction>
|
|
208
|
-
</xs:simpleContent>
|
|
209
|
-
</xs:complexType>
|
|
210
|
-
|
|
211
|
-
<xs:complexType name="URI">
|
|
212
|
-
<xs:simpleContent>
|
|
213
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
214
|
-
<xs:simpleType>
|
|
215
|
-
<xs:restriction base="xs:anyURI"/>
|
|
216
|
-
</xs:simpleType>
|
|
217
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
218
|
-
</xs:restriction>
|
|
219
|
-
</xs:simpleContent>
|
|
220
|
-
</xs:complexType>
|
|
221
|
-
|
|
222
|
-
<xs:complexType name="ISO639-2">
|
|
223
|
-
<xs:simpleContent>
|
|
224
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
225
|
-
<xs:simpleType>
|
|
226
|
-
<xs:restriction base="xs:string"/>
|
|
227
|
-
</xs:simpleType>
|
|
228
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
229
|
-
</xs:restriction>
|
|
230
|
-
</xs:simpleContent>
|
|
231
|
-
</xs:complexType>
|
|
232
|
-
|
|
233
|
-
<xs:complexType name="RFC1766">
|
|
234
|
-
<xs:simpleContent>
|
|
235
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
236
|
-
<xs:simpleType>
|
|
237
|
-
<xs:restriction base="xs:language"/>
|
|
238
|
-
</xs:simpleType>
|
|
239
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
240
|
-
</xs:restriction>
|
|
241
|
-
</xs:simpleContent>
|
|
242
|
-
</xs:complexType>
|
|
243
|
-
|
|
244
|
-
<xs:complexType name="RFC3066">
|
|
245
|
-
<xs:simpleContent>
|
|
246
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
247
|
-
<xs:simpleType>
|
|
248
|
-
<xs:restriction base="xs:language"/>
|
|
249
|
-
</xs:simpleType>
|
|
250
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
251
|
-
</xs:restriction>
|
|
252
|
-
</xs:simpleContent>
|
|
253
|
-
</xs:complexType>
|
|
254
|
-
|
|
255
|
-
<xs:complexType name="Point">
|
|
256
|
-
<xs:simpleContent>
|
|
257
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
258
|
-
<xs:simpleType>
|
|
259
|
-
<xs:restriction base="xs:string"/>
|
|
260
|
-
</xs:simpleType>
|
|
261
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
262
|
-
</xs:restriction>
|
|
263
|
-
</xs:simpleContent>
|
|
264
|
-
</xs:complexType>
|
|
265
|
-
|
|
266
|
-
<xs:complexType name="ISO3166">
|
|
267
|
-
<xs:simpleContent>
|
|
268
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
269
|
-
<xs:simpleType>
|
|
270
|
-
<xs:restriction base="xs:string"/>
|
|
271
|
-
</xs:simpleType>
|
|
272
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
273
|
-
</xs:restriction>
|
|
274
|
-
</xs:simpleContent>
|
|
275
|
-
</xs:complexType>
|
|
276
|
-
|
|
277
|
-
<xs:complexType name="Box">
|
|
278
|
-
<xs:simpleContent>
|
|
279
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
280
|
-
<xs:simpleType>
|
|
281
|
-
<xs:restriction base="xs:string"/>
|
|
282
|
-
</xs:simpleType>
|
|
283
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
284
|
-
</xs:restriction>
|
|
285
|
-
</xs:simpleContent>
|
|
286
|
-
</xs:complexType>
|
|
287
|
-
|
|
288
|
-
<xs:complexType name="TGN">
|
|
289
|
-
<xs:simpleContent>
|
|
290
|
-
<xs:restriction base="dc:SimpleLiteral">
|
|
291
|
-
<xs:simpleType>
|
|
292
|
-
<xs:restriction base="xs:string"/>
|
|
293
|
-
</xs:simpleType>
|
|
294
|
-
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
295
|
-
</xs:restriction>
|
|
296
|
-
</xs:simpleContent>
|
|
297
|
-
</xs:complexType>
|
|
298
|
-
|
|
299
|
-
<xs:group name="elementsAndRefinementsGroup">
|
|
300
|
-
<xs:annotation>
|
|
301
|
-
<xs:documentation xml:lang="en">
|
|
302
|
-
This group is included as a convenience for schema authors
|
|
303
|
-
who need to refer to all the DC elements and element refinements
|
|
304
|
-
in the http://purl.org/dc/elements/1.1/ and
|
|
305
|
-
http://purl.org/dc/terms namespaces.
|
|
306
|
-
N.B. Refinements available via substitution groups.
|
|
307
|
-
</xs:documentation>
|
|
308
|
-
</xs:annotation>
|
|
309
|
-
|
|
310
|
-
<xs:sequence>
|
|
311
|
-
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
312
|
-
<xs:element ref="dc:any" />
|
|
313
|
-
</xs:choice>
|
|
314
|
-
</xs:sequence>
|
|
315
|
-
</xs:group>
|
|
316
|
-
|
|
317
|
-
<xs:complexType name="elementOrRefinementContainer">
|
|
318
|
-
<xs:annotation>
|
|
319
|
-
<xs:documentation xml:lang="en">
|
|
320
|
-
This is included as a convenience for schema authors who need to define a root
|
|
321
|
-
or container element for all of the DC elements and element refinements.
|
|
322
|
-
</xs:documentation>
|
|
323
|
-
</xs:annotation>
|
|
324
|
-
|
|
325
|
-
<xs:choice>
|
|
326
|
-
<xs:group ref="elementsAndRefinementsGroup"/>
|
|
327
|
-
</xs:choice>
|
|
328
|
-
</xs:complexType>
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
</xs:schema>
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<xs:schema targetNamespace="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
|
|
3
|
-
xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
|
|
4
|
-
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
5
|
-
xmlns:dcterms="http://purl.org/dc/terms/" elementFormDefault="qualified" blockDefault="#all">
|
|
6
|
-
|
|
7
|
-
<xs:import namespace="http://purl.org/dc/elements/1.1/"
|
|
8
|
-
schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd"/>
|
|
9
|
-
<xs:import namespace="http://purl.org/dc/terms/"
|
|
10
|
-
schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd"/>
|
|
11
|
-
<xs:import id="xml" namespace="http://www.w3.org/XML/1998/namespace"/>
|
|
12
|
-
|
|
13
|
-
<xs:element name="coreProperties" type="CT_CoreProperties"/>
|
|
14
|
-
|
|
15
|
-
<xs:complexType name="CT_CoreProperties">
|
|
16
|
-
<xs:all>
|
|
17
|
-
<xs:element name="category" minOccurs="0" maxOccurs="1" type="xs:string"/>
|
|
18
|
-
<xs:element name="contentStatus" minOccurs="0" maxOccurs="1" type="xs:string"/>
|
|
19
|
-
<xs:element ref="dcterms:created" minOccurs="0" maxOccurs="1"/>
|
|
20
|
-
<xs:element ref="dc:creator" minOccurs="0" maxOccurs="1"/>
|
|
21
|
-
<xs:element ref="dc:description" minOccurs="0" maxOccurs="1"/>
|
|
22
|
-
<xs:element ref="dc:identifier" minOccurs="0" maxOccurs="1"/>
|
|
23
|
-
<xs:element name="keywords" minOccurs="0" maxOccurs="1" type="CT_Keywords"/>
|
|
24
|
-
<xs:element ref="dc:language" minOccurs="0" maxOccurs="1"/>
|
|
25
|
-
<xs:element name="lastModifiedBy" minOccurs="0" maxOccurs="1" type="xs:string"/>
|
|
26
|
-
<xs:element name="lastPrinted" minOccurs="0" maxOccurs="1" type="xs:dateTime"/>
|
|
27
|
-
<xs:element ref="dcterms:modified" minOccurs="0" maxOccurs="1"/>
|
|
28
|
-
<xs:element name="revision" minOccurs="0" maxOccurs="1" type="xs:string"/>
|
|
29
|
-
<xs:element ref="dc:subject" minOccurs="0" maxOccurs="1"/>
|
|
30
|
-
<xs:element ref="dc:title" minOccurs="0" maxOccurs="1"/>
|
|
31
|
-
<xs:element name="version" minOccurs="0" maxOccurs="1" type="xs:string"/>
|
|
32
|
-
</xs:all>
|
|
33
|
-
</xs:complexType>
|
|
34
|
-
|
|
35
|
-
<xs:complexType name="CT_Keywords" mixed="true">
|
|
36
|
-
<xs:sequence>
|
|
37
|
-
<xs:element name="value" minOccurs="0" maxOccurs="unbounded" type="CT_Keyword"/>
|
|
38
|
-
</xs:sequence>
|
|
39
|
-
<xs:attribute ref="xml:lang" use="optional"/>
|
|
40
|
-
</xs:complexType>
|
|
41
|
-
|
|
42
|
-
<xs:complexType name="CT_Keyword">
|
|
43
|
-
<xs:simpleContent>
|
|
44
|
-
<xs:extension base="xs:string">
|
|
45
|
-
<xs:attribute ref="xml:lang" use="optional"/>
|
|
46
|
-
</xs:extension>
|
|
47
|
-
</xs:simpleContent>
|
|
48
|
-
</xs:complexType>
|
|
49
|
-
|
|
50
|
-
</xs:schema>
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestValAxisData < Test::Unit::TestCase
|
|
4
|
-
|
|
5
|
-
def setup
|
|
6
|
-
p = Axlsx::Package.new
|
|
7
|
-
@ws = p.workbook.add_worksheet
|
|
8
|
-
chart = @ws.drawing.add_chart Axlsx::Line3DChart
|
|
9
|
-
@series = chart.add_series :data=>[0,1,2]
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def test_initialize
|
|
13
|
-
assert(@series.data.is_a?Axlsx::SimpleTypedList)
|
|
14
|
-
assert_equal(@series.data, [0,1,2])
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
end
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
require 'test/unit'
|
|
2
|
-
require 'tc_helper.rb'
|
|
3
|
-
|
|
4
|
-
class TestTable < Test::Unit::TestCase
|
|
5
|
-
def setup
|
|
6
|
-
p = Axlsx::Package.new
|
|
7
|
-
@ws = p.workbook.add_worksheet
|
|
8
|
-
40.times do
|
|
9
|
-
@ws << ["aa","aa","aa","aa","aa","aa"]
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def test_initialization
|
|
14
|
-
assert(@ws.workbook.tables.empty?)
|
|
15
|
-
assert(@ws.tables.empty?)
|
|
16
|
-
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def test_add_table
|
|
20
|
-
name = "test"
|
|
21
|
-
table = @ws.add_table("A1:D5", :name => name)
|
|
22
|
-
assert(table.is_a?(Axlsx::Table), "must create a table")
|
|
23
|
-
assert_equal(@ws.workbook.tables.last, table, "must be added to workbook table collection")
|
|
24
|
-
assert_equal(@ws.tables.last, table, "must be added to worksheet table collection")
|
|
25
|
-
assert_equal(table.name, name, "options for name are applied")
|
|
26
|
-
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def test_charts
|
|
30
|
-
assert(@ws.drawing.charts.empty?)
|
|
31
|
-
chart = @ws.add_chart(Axlsx::Pie3DChart, :title=>"bob", :start_at=>[0,0], :end_at=>[1,1])
|
|
32
|
-
assert_equal(@ws.drawing.charts.last, chart, "add chart is returned")
|
|
33
|
-
chart = @ws.add_chart(Axlsx::Pie3DChart, :title=>"nancy", :start_at=>[1,5], :end_at=>[5,10])
|
|
34
|
-
assert_equal(@ws.drawing.charts.last, chart, "add chart is returned")
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def test_pn
|
|
38
|
-
table = @ws.add_table("A1:D5")
|
|
39
|
-
assert_equal(@ws.tables.first.pn, "tables/table1.xml")
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def test_rId
|
|
43
|
-
table = @ws.add_table("A1:D5")
|
|
44
|
-
assert_equal(@ws.tables.first.rId, "rId1")
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def test_index
|
|
48
|
-
table = @ws.add_table("A1:D5")
|
|
49
|
-
assert_equal(@ws.tables.first.index, @ws.workbook.tables.index(@ws.tables.first))
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def test_relationships
|
|
53
|
-
assert(@ws.relationships.empty?)
|
|
54
|
-
table = @ws.add_table("A1:D5")
|
|
55
|
-
assert_equal(@ws.relationships.size, 1, "adding a table adds a relationship")
|
|
56
|
-
table = @ws.add_table("F1:J5")
|
|
57
|
-
assert_equal(@ws.relationships.size, 2, "adding a table adds a relationship")
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
def test_to_xml
|
|
61
|
-
table = @ws.add_table("A1:D5")
|
|
62
|
-
schema = Nokogiri::XML::Schema(File.open(Axlsx::SML_XSD))
|
|
63
|
-
doc = Nokogiri::XML(table.to_xml)
|
|
64
|
-
errors = []
|
|
65
|
-
schema.validate(doc).each do |error|
|
|
66
|
-
errors.push error
|
|
67
|
-
puts error.message
|
|
68
|
-
end
|
|
69
|
-
assert(errors.empty?, "error free validation")
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
end
|