caxlsx 2.0.2
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.
- checksums.yaml +7 -0
- data/.yardopts +9 -0
- data/.yardopts_guide +19 -0
- data/CHANGELOG.md +239 -0
- data/LICENSE +22 -0
- data/README.md +256 -0
- data/Rakefile +31 -0
- data/examples/2010_comments.rb +17 -0
- data/examples/anchor_swapping.rb +28 -0
- data/examples/auto_filter.rb +16 -0
- data/examples/basic_charts.rb +58 -0
- data/examples/chart_colors.rb +88 -0
- data/examples/colored_links.rb +59 -0
- data/examples/conditional_formatting/example_conditional_formatting.rb +74 -0
- data/examples/conditional_formatting/getting_barred.rb +37 -0
- data/examples/conditional_formatting/hitting_the_high_notes.rb +37 -0
- data/examples/conditional_formatting/scaled_colors.rb +39 -0
- data/examples/conditional_formatting/stop_and_go.rb +37 -0
- data/examples/data_validation.rb +50 -0
- data/examples/example.rb +777 -0
- data/examples/extractive.rb +45 -0
- data/examples/image1.jpeg +0 -0
- data/examples/ios_preview.rb +14 -0
- data/examples/page_setup.rb +11 -0
- data/examples/pivot_table.rb +39 -0
- data/examples/sheet_protection.rb +10 -0
- data/examples/skydrive/real_example.rb +63 -0
- data/examples/styles.rb +66 -0
- data/examples/underline.rb +13 -0
- data/examples/wrap_text.rb +21 -0
- data/lib/axlsx.rb +152 -0
- data/lib/axlsx/content_type/abstract_content_type.rb +32 -0
- data/lib/axlsx/content_type/content_type.rb +26 -0
- data/lib/axlsx/content_type/default.rb +25 -0
- data/lib/axlsx/content_type/override.rb +25 -0
- data/lib/axlsx/doc_props/app.rb +235 -0
- data/lib/axlsx/doc_props/core.rb +39 -0
- data/lib/axlsx/drawing/ax_data_source.rb +26 -0
- data/lib/axlsx/drawing/axes.rb +61 -0
- data/lib/axlsx/drawing/axis.rb +187 -0
- data/lib/axlsx/drawing/bar_3D_chart.rb +151 -0
- data/lib/axlsx/drawing/bar_series.rb +82 -0
- data/lib/axlsx/drawing/cat_axis.rb +85 -0
- data/lib/axlsx/drawing/chart.rb +232 -0
- data/lib/axlsx/drawing/d_lbls.rb +90 -0
- data/lib/axlsx/drawing/drawing.rb +162 -0
- data/lib/axlsx/drawing/graphic_frame.rb +54 -0
- data/lib/axlsx/drawing/hyperlink.rb +102 -0
- data/lib/axlsx/drawing/line_3D_chart.rb +68 -0
- data/lib/axlsx/drawing/line_chart.rb +99 -0
- data/lib/axlsx/drawing/line_series.rb +81 -0
- data/lib/axlsx/drawing/marker.rb +84 -0
- data/lib/axlsx/drawing/num_data.rb +52 -0
- data/lib/axlsx/drawing/num_data_source.rb +62 -0
- data/lib/axlsx/drawing/num_val.rb +32 -0
- data/lib/axlsx/drawing/one_cell_anchor.rb +98 -0
- data/lib/axlsx/drawing/pic.rb +205 -0
- data/lib/axlsx/drawing/picture_locking.rb +44 -0
- data/lib/axlsx/drawing/pie_3D_chart.rb +48 -0
- data/lib/axlsx/drawing/pie_series.rb +74 -0
- data/lib/axlsx/drawing/scaling.rb +60 -0
- data/lib/axlsx/drawing/scatter_chart.rb +74 -0
- data/lib/axlsx/drawing/scatter_series.rb +65 -0
- data/lib/axlsx/drawing/ser_axis.rb +45 -0
- data/lib/axlsx/drawing/series.rb +69 -0
- data/lib/axlsx/drawing/series_title.rb +23 -0
- data/lib/axlsx/drawing/str_data.rb +42 -0
- data/lib/axlsx/drawing/str_val.rb +32 -0
- data/lib/axlsx/drawing/title.rb +78 -0
- data/lib/axlsx/drawing/two_cell_anchor.rb +92 -0
- data/lib/axlsx/drawing/val_axis.rb +37 -0
- data/lib/axlsx/drawing/view_3D.rb +115 -0
- data/lib/axlsx/drawing/vml_drawing.rb +42 -0
- data/lib/axlsx/drawing/vml_shape.rb +66 -0
- data/lib/axlsx/package.rb +352 -0
- data/lib/axlsx/rels/relationship.rb +129 -0
- data/lib/axlsx/rels/relationships.rb +29 -0
- data/lib/axlsx/stylesheet/border.rb +71 -0
- data/lib/axlsx/stylesheet/border_pr.rb +71 -0
- data/lib/axlsx/stylesheet/cell_alignment.rb +134 -0
- data/lib/axlsx/stylesheet/cell_protection.rb +43 -0
- data/lib/axlsx/stylesheet/cell_style.rb +74 -0
- data/lib/axlsx/stylesheet/color.rb +78 -0
- data/lib/axlsx/stylesheet/dxf.rb +79 -0
- data/lib/axlsx/stylesheet/fill.rb +35 -0
- data/lib/axlsx/stylesheet/font.rb +148 -0
- data/lib/axlsx/stylesheet/gradient_fill.rb +103 -0
- data/lib/axlsx/stylesheet/gradient_stop.rb +37 -0
- data/lib/axlsx/stylesheet/num_fmt.rb +79 -0
- data/lib/axlsx/stylesheet/pattern_fill.rb +73 -0
- data/lib/axlsx/stylesheet/styles.rb +420 -0
- data/lib/axlsx/stylesheet/table_style.rb +54 -0
- data/lib/axlsx/stylesheet/table_style_element.rb +79 -0
- data/lib/axlsx/stylesheet/table_styles.rb +46 -0
- data/lib/axlsx/stylesheet/xf.rb +147 -0
- data/lib/axlsx/util/accessors.rb +64 -0
- data/lib/axlsx/util/constants.rb +392 -0
- data/lib/axlsx/util/options_parser.rb +15 -0
- data/lib/axlsx/util/parser.rb +44 -0
- data/lib/axlsx/util/serialized_attributes.rb +79 -0
- data/lib/axlsx/util/simple_typed_list.rb +203 -0
- data/lib/axlsx/util/storage.rb +146 -0
- data/lib/axlsx/util/validators.rb +300 -0
- data/lib/axlsx/version.rb +5 -0
- data/lib/axlsx/workbook/defined_name.rb +129 -0
- data/lib/axlsx/workbook/defined_names.rb +21 -0
- data/lib/axlsx/workbook/shared_strings_table.rb +77 -0
- data/lib/axlsx/workbook/workbook.rb +354 -0
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -0
- data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -0
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +246 -0
- data/lib/axlsx/workbook/worksheet/break.rb +37 -0
- data/lib/axlsx/workbook/worksheet/cell.rb +416 -0
- data/lib/axlsx/workbook/worksheet/cell_serializer.rb +144 -0
- data/lib/axlsx/workbook/worksheet/cfvo.rb +62 -0
- data/lib/axlsx/workbook/worksheet/cfvos.rb +15 -0
- data/lib/axlsx/workbook/worksheet/col.rb +144 -0
- data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -0
- data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -0
- data/lib/axlsx/workbook/worksheet/cols.rb +20 -0
- data/lib/axlsx/workbook/worksheet/comment.rb +92 -0
- data/lib/axlsx/workbook/worksheet/comments.rb +85 -0
- data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -0
- data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -0
- data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -0
- data/lib/axlsx/workbook/worksheet/data_bar.rb +131 -0
- data/lib/axlsx/workbook/worksheet/data_validation.rb +244 -0
- data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -0
- data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -0
- data/lib/axlsx/workbook/worksheet/dimension.rb +64 -0
- data/lib/axlsx/workbook/worksheet/header_footer.rb +54 -0
- data/lib/axlsx/workbook/worksheet/icon_set.rb +83 -0
- data/lib/axlsx/workbook/worksheet/merged_cells.rb +35 -0
- data/lib/axlsx/workbook/worksheet/page_margins.rb +99 -0
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -0
- data/lib/axlsx/workbook/worksheet/page_setup.rb +242 -0
- data/lib/axlsx/workbook/worksheet/pane.rb +141 -0
- data/lib/axlsx/workbook/worksheet/pivot_table.rb +273 -0
- data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -0
- data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -0
- data/lib/axlsx/workbook/worksheet/print_options.rb +41 -0
- data/lib/axlsx/workbook/worksheet/protected_range.rb +49 -0
- data/lib/axlsx/workbook/worksheet/protected_ranges.rb +34 -0
- data/lib/axlsx/workbook/worksheet/row.rb +172 -0
- data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -0
- data/lib/axlsx/workbook/worksheet/selection.rb +103 -0
- data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -0
- data/lib/axlsx/workbook/worksheet/sheet_data.rb +25 -0
- data/lib/axlsx/workbook/worksheet/sheet_format_pr.rb +60 -0
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +69 -0
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +120 -0
- data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -0
- data/lib/axlsx/workbook/worksheet/table.rb +102 -0
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +51 -0
- data/lib/axlsx/workbook/worksheet/tables.rb +31 -0
- data/lib/axlsx/workbook/worksheet/worksheet.rb +769 -0
- data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -0
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -0
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -0
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -0
- data/lib/schema/dc.xsd +118 -0
- data/lib/schema/dcmitype.xsd +52 -0
- data/lib/schema/dcterms.xsd +331 -0
- data/lib/schema/dml-chart.xsd +1499 -0
- data/lib/schema/dml-chartDrawing.xsd +146 -0
- data/lib/schema/dml-compatibility.xsd +14 -0
- data/lib/schema/dml-diagram.xsd +1091 -0
- data/lib/schema/dml-lockedCanvas.xsd +11 -0
- data/lib/schema/dml-main.xsd +3048 -0
- data/lib/schema/dml-picture.xsd +23 -0
- data/lib/schema/dml-spreadsheetDrawing.xsd +185 -0
- data/lib/schema/dml-wordprocessingDrawing.xsd +185 -0
- data/lib/schema/opc-contentTypes.xsd +42 -0
- data/lib/schema/opc-coreProperties.xsd +54 -0
- data/lib/schema/opc-digSig.xsd +49 -0
- data/lib/schema/opc-relationships.xsd +33 -0
- data/lib/schema/pml.xsd +1676 -0
- data/lib/schema/shared-additionalCharacteristics.xsd +28 -0
- data/lib/schema/shared-bibliography.xsd +144 -0
- data/lib/schema/shared-commonSimpleTypes.xsd +166 -0
- data/lib/schema/shared-customXmlDataProperties.xsd +25 -0
- data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -0
- data/lib/schema/shared-documentPropertiesCustom.xsd +59 -0
- data/lib/schema/shared-documentPropertiesExtended.xsd +56 -0
- data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -0
- data/lib/schema/shared-math.xsd +582 -0
- data/lib/schema/shared-relationshipReference.xsd +25 -0
- data/lib/schema/sml.xsd +4434 -0
- data/lib/schema/vml-main.xsd +569 -0
- data/lib/schema/vml-officeDrawing.xsd +509 -0
- data/lib/schema/vml-presentationDrawing.xsd +12 -0
- data/lib/schema/vml-spreadsheetDrawing.xsd +108 -0
- data/lib/schema/vml-wordprocessingDrawing.xsd +96 -0
- data/lib/schema/wml.xsd +3644 -0
- data/lib/schema/xml.xsd +116 -0
- data/test/benchmark.rb +72 -0
- data/test/content_type/tc_content_type.rb +76 -0
- data/test/content_type/tc_default.rb +16 -0
- data/test/content_type/tc_override.rb +14 -0
- data/test/doc_props/tc_app.rb +43 -0
- data/test/doc_props/tc_core.rb +42 -0
- data/test/drawing/tc_axes.rb +8 -0
- data/test/drawing/tc_axis.rb +85 -0
- data/test/drawing/tc_bar_3D_chart.rb +71 -0
- data/test/drawing/tc_bar_series.rb +37 -0
- data/test/drawing/tc_cat_axis.rb +31 -0
- data/test/drawing/tc_cat_axis_data.rb +27 -0
- data/test/drawing/tc_chart.rb +110 -0
- data/test/drawing/tc_d_lbls.rb +57 -0
- data/test/drawing/tc_data_source.rb +17 -0
- data/test/drawing/tc_drawing.rb +80 -0
- data/test/drawing/tc_graphic_frame.rb +27 -0
- data/test/drawing/tc_hyperlink.rb +64 -0
- data/test/drawing/tc_line_3d_chart.rb +47 -0
- data/test/drawing/tc_line_chart.rb +39 -0
- data/test/drawing/tc_line_series.rb +30 -0
- data/test/drawing/tc_marker.rb +44 -0
- 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_one_cell_anchor.rb +66 -0
- data/test/drawing/tc_pic.rb +107 -0
- data/test/drawing/tc_picture_locking.rb +72 -0
- data/test/drawing/tc_pie_3D_chart.rb +28 -0
- data/test/drawing/tc_pie_series.rb +32 -0
- data/test/drawing/tc_scaling.rb +36 -0
- data/test/drawing/tc_scatter_chart.rb +48 -0
- data/test/drawing/tc_scatter_series.rb +21 -0
- data/test/drawing/tc_ser_axis.rb +31 -0
- data/test/drawing/tc_series.rb +23 -0
- data/test/drawing/tc_series_title.rb +33 -0
- data/test/drawing/tc_str_data.rb +18 -0
- data/test/drawing/tc_str_val.rb +21 -0
- data/test/drawing/tc_title.rb +49 -0
- data/test/drawing/tc_two_cell_anchor.rb +36 -0
- data/test/drawing/tc_val_axis.rb +24 -0
- data/test/drawing/tc_view_3D.rb +54 -0
- data/test/drawing/tc_vml_drawing.rb +25 -0
- data/test/drawing/tc_vml_shape.rb +106 -0
- data/test/profile.rb +24 -0
- data/test/rels/tc_relationship.rb +44 -0
- data/test/rels/tc_relationships.rb +37 -0
- data/test/stylesheet/tc_border.rb +37 -0
- data/test/stylesheet/tc_border_pr.rb +32 -0
- data/test/stylesheet/tc_cell_alignment.rb +81 -0
- data/test/stylesheet/tc_cell_protection.rb +29 -0
- data/test/stylesheet/tc_cell_style.rb +57 -0
- data/test/stylesheet/tc_color.rb +43 -0
- data/test/stylesheet/tc_dxf.rb +81 -0
- data/test/stylesheet/tc_fill.rb +18 -0
- data/test/stylesheet/tc_font.rb +121 -0
- data/test/stylesheet/tc_gradient_fill.rb +72 -0
- data/test/stylesheet/tc_gradient_stop.rb +31 -0
- data/test/stylesheet/tc_num_fmt.rb +30 -0
- data/test/stylesheet/tc_pattern_fill.rb +43 -0
- data/test/stylesheet/tc_styles.rb +235 -0
- data/test/stylesheet/tc_table_style.rb +44 -0
- data/test/stylesheet/tc_table_style_element.rb +45 -0
- data/test/stylesheet/tc_table_styles.rb +29 -0
- data/test/stylesheet/tc_xf.rb +120 -0
- data/test/tc_axlsx.rb +72 -0
- data/test/tc_helper.rb +10 -0
- data/test/tc_package.rb +227 -0
- data/test/util/tc_serialized_attributes.rb +19 -0
- data/test/util/tc_simple_typed_list.rb +78 -0
- data/test/util/tc_validators.rb +186 -0
- data/test/workbook/tc_defined_name.rb +41 -0
- data/test/workbook/tc_shared_strings_table.rb +44 -0
- data/test/workbook/tc_workbook.rb +125 -0
- data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -0
- data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -0
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -0
- data/test/workbook/worksheet/tc_break.rb +49 -0
- data/test/workbook/worksheet/tc_cell.rb +319 -0
- data/test/workbook/worksheet/tc_cfvo.rb +31 -0
- data/test/workbook/worksheet/tc_col.rb +78 -0
- data/test/workbook/worksheet/tc_color_scale.rb +58 -0
- data/test/workbook/worksheet/tc_comment.rb +72 -0
- data/test/workbook/worksheet/tc_comments.rb +57 -0
- data/test/workbook/worksheet/tc_conditional_formatting.rb +224 -0
- data/test/workbook/worksheet/tc_data_bar.rb +46 -0
- data/test/workbook/worksheet/tc_data_validation.rb +265 -0
- data/test/workbook/worksheet/tc_date_time_converter.rb +124 -0
- data/test/workbook/worksheet/tc_header_footer.rb +151 -0
- data/test/workbook/worksheet/tc_icon_set.rb +45 -0
- data/test/workbook/worksheet/tc_page_margins.rb +97 -0
- data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -0
- data/test/workbook/worksheet/tc_page_setup.rb +143 -0
- data/test/workbook/worksheet/tc_pane.rb +54 -0
- data/test/workbook/worksheet/tc_pivot_table.rb +120 -0
- data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +54 -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 +117 -0
- data/test/workbook/worksheet/tc_selection.rb +55 -0
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -0
- data/test/workbook/worksheet/tc_sheet_format_pr.rb +88 -0
- data/test/workbook/worksheet/tc_sheet_pr.rb +27 -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_table.rb +68 -0
- data/test/workbook/worksheet/tc_table_style_info.rb +53 -0
- data/test/workbook/worksheet/tc_worksheet.rb +538 -0
- data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +55 -0
- metadata +546 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
module Axlsx
|
|
2
|
+
|
|
3
|
+
# A wraper class for comments that defines its on worksheet
|
|
4
|
+
# serailization
|
|
5
|
+
class WorksheetComments
|
|
6
|
+
|
|
7
|
+
# Creates a new WorksheetComments object
|
|
8
|
+
# param [Worksheet] worksheet The worksheet comments in thes object belong to
|
|
9
|
+
def initialize(worksheet)
|
|
10
|
+
raise ArugumentError, 'You must provide a worksheet' unless worksheet.is_a?(Worksheet)
|
|
11
|
+
@worksheet = worksheet
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
attr_reader :worksheet
|
|
15
|
+
|
|
16
|
+
# The comments for this worksheet.
|
|
17
|
+
# @return [Comments]
|
|
18
|
+
def comments
|
|
19
|
+
@comments ||= Comments.new(worksheet)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Adds a comment
|
|
23
|
+
# @param [Hash] options
|
|
24
|
+
# @see Comments#add_comment
|
|
25
|
+
def add_comment(options={})
|
|
26
|
+
comments.add_comment(options)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# The relationships defined by this objects comments collection
|
|
30
|
+
# @return [Relationships]
|
|
31
|
+
def relationships
|
|
32
|
+
return [] unless has_comments?
|
|
33
|
+
comments.relationships
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# Helper method to tell us if there are comments in the comments collection
|
|
38
|
+
# @return [Boolean]
|
|
39
|
+
def has_comments?
|
|
40
|
+
!comments.empty?
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# The relationship id of the VML drawing that will render the comments.
|
|
44
|
+
# @see Relationship#Id
|
|
45
|
+
# @return [String]
|
|
46
|
+
def drawing_rId
|
|
47
|
+
comments.relationships.find{ |r| r.Type == VML_DRAWING_R }.Id
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Seraalize the object
|
|
51
|
+
# @param [String] str
|
|
52
|
+
# @return [String]
|
|
53
|
+
def to_xml_string(str = '')
|
|
54
|
+
return unless has_comments?
|
|
55
|
+
str << "<legacyDrawing r:id='#{drawing_rId}' />"
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
module Axlsx
|
|
2
|
+
|
|
3
|
+
# This is a utility class for serialing the drawing node in a
|
|
4
|
+
# worksheet. Drawing objects have their own serialization that exports
|
|
5
|
+
# a drawing document. This is only for the single node in the
|
|
6
|
+
# worksheet
|
|
7
|
+
class WorksheetDrawing
|
|
8
|
+
|
|
9
|
+
# Creates a new WorksheetDrawing
|
|
10
|
+
# @param [Worksheet] worksheet
|
|
11
|
+
def initialize(worksheet)
|
|
12
|
+
raise ArgumentError, 'you must provide a worksheet' unless worksheet.is_a?(Worksheet)
|
|
13
|
+
@worksheet = worksheet
|
|
14
|
+
@drawing = nil
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
attr_reader :worksheet
|
|
18
|
+
|
|
19
|
+
attr_reader :drawing
|
|
20
|
+
|
|
21
|
+
# adds a chart to the drawing object
|
|
22
|
+
# @param [Class] chart_type The type of chart to add
|
|
23
|
+
# @param [Hash] options Options to pass on to the drawing and chart
|
|
24
|
+
# @see Worksheet#add_chart
|
|
25
|
+
def add_chart(chart_type, options)
|
|
26
|
+
@drawing ||= Drawing.new worksheet
|
|
27
|
+
drawing.add_chart(chart_type, options)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# adds an image to the drawing object
|
|
31
|
+
# @param [Hash] options Options to pass on to the drawing and image
|
|
32
|
+
# @see Worksheet#add_image
|
|
33
|
+
def add_image(options)
|
|
34
|
+
@drawing ||= Drawing.new worksheet
|
|
35
|
+
drawing.add_image(options)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# helper method to tell us if the drawing has something in it or not
|
|
39
|
+
# @return [Boolean]
|
|
40
|
+
def has_drawing?
|
|
41
|
+
@drawing.is_a? Drawing
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# The relationship instance for this drawing.
|
|
45
|
+
# @return [Relationship]
|
|
46
|
+
def relationship
|
|
47
|
+
return unless has_drawing?
|
|
48
|
+
Relationship.new(self, DRAWING_R, "../#{drawing.pn}")
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Serialize the drawing for the worksheet
|
|
52
|
+
# @param [String] str
|
|
53
|
+
def to_xml_string(str = '')
|
|
54
|
+
return unless has_drawing?
|
|
55
|
+
str << "<drawing r:id='#{relationship.Id}'/>"
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
module Axlsx
|
|
2
|
+
|
|
3
|
+
# A worksheet hyperlink object. Note that this is not the same as a drawing hyperlink object.
|
|
4
|
+
class WorksheetHyperlink
|
|
5
|
+
|
|
6
|
+
include Axlsx::OptionsParser
|
|
7
|
+
include Axlsx::Accessors
|
|
8
|
+
include Axlsx::SerializedAttributes
|
|
9
|
+
# Creates a new hyperlink object.
|
|
10
|
+
# @note the preferred way to add hyperlinks to your worksheet is the Worksheet#add_hyperlink method
|
|
11
|
+
# @param [Worksheet] worksheet the Worksheet that owns this hyperlink
|
|
12
|
+
# @param [Hash] options options to use when creating this hyperlink
|
|
13
|
+
# @option [String] display Display string, if different from string in string table. This is a property on the hyperlink object, but does not need to appear in the spreadsheet application UI.
|
|
14
|
+
# @option [String] location Location within target. If target is a workbook (or this workbook) this shall refer to a sheet and cell or a defined name. Can also be an HTML anchor if target is HTML file.
|
|
15
|
+
# @option [String] tooltip The tip to display when the user positions the mouse cursor over this hyperlink
|
|
16
|
+
# @option [Symbol] target This is :external by default. If you set it to anything else, the location is interpreted to be the current workbook.
|
|
17
|
+
# @option [String|Cell] ref The location of this hyperlink in the worksheet
|
|
18
|
+
def initialize(worksheet, options={})
|
|
19
|
+
DataTypeValidator.validate "Hyperlink.worksheet", [Worksheet], worksheet
|
|
20
|
+
@worksheet = worksheet
|
|
21
|
+
@target = :external
|
|
22
|
+
parse_options options
|
|
23
|
+
yield self if block_given?
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
string_attr_accessor :display, :location, :tooltip
|
|
27
|
+
|
|
28
|
+
serializable_attributes :display, :tooltip, :ref
|
|
29
|
+
|
|
30
|
+
#Cell location of hyperlink on worksheet.
|
|
31
|
+
# @return [String]
|
|
32
|
+
attr_reader :ref
|
|
33
|
+
|
|
34
|
+
# Sets the target for this hyperlink. Anything other than :external instructs the library to treat the location as an in-workbook reference.
|
|
35
|
+
# @param [Symbol] target
|
|
36
|
+
def target=(target)
|
|
37
|
+
@target = target
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Sets the cell location of this hyperlink in the worksheet
|
|
41
|
+
# @param [String|Cell] cell_reference The string reference or cell that defines where this hyperlink shows in the worksheet.
|
|
42
|
+
def ref=(cell_reference)
|
|
43
|
+
cell_reference = cell_reference.r if cell_reference.is_a?(Cell)
|
|
44
|
+
Axlsx::validate_string cell_reference
|
|
45
|
+
@ref = cell_reference
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# The relationship instance for this hyperlink.
|
|
49
|
+
# A relationship is only required if `@target` is `:external`. If not, this method will simply return `nil`.
|
|
50
|
+
# @see #target=
|
|
51
|
+
# @return [Relationship]
|
|
52
|
+
def relationship
|
|
53
|
+
return unless @target == :external
|
|
54
|
+
Relationship.new(self, HYPERLINK_R, location, :target_mode => :External)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Seralize the object
|
|
58
|
+
# @param [String] str
|
|
59
|
+
# @return [String]
|
|
60
|
+
def to_xml_string(str='')
|
|
61
|
+
str << '<hyperlink '
|
|
62
|
+
serialized_attributes str, location_or_id
|
|
63
|
+
str << '/>'
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# The values to be used in serialization based on the target.
|
|
67
|
+
# location should only be specified for non-external targets.
|
|
68
|
+
# r:id should only be specified for external targets.
|
|
69
|
+
# @return [Hash]
|
|
70
|
+
def location_or_id
|
|
71
|
+
@target == :external ? { :"r:id" => relationship.Id } : { :location => Axlsx::coder.encode(location) }
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module Axlsx
|
|
2
|
+
|
|
3
|
+
#A collection of hyperlink objects for a worksheet
|
|
4
|
+
class WorksheetHyperlinks < SimpleTypedList
|
|
5
|
+
|
|
6
|
+
# Creates a new Hyperlinks collection
|
|
7
|
+
# @param [Worksheet] worksheet the worksheet that owns these hyperlinks
|
|
8
|
+
def initialize(worksheet)
|
|
9
|
+
DataTypeValidator.validate "Hyperlinks.worksheet", [Worksheet], worksheet
|
|
10
|
+
@worksheet = worksheet
|
|
11
|
+
super WorksheetHyperlink
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Creates and adds a new hyperlink based on the options provided
|
|
15
|
+
# @see WorksheetHyperlink#initialize
|
|
16
|
+
# @return [WorksheetHyperlink]
|
|
17
|
+
def add(options)
|
|
18
|
+
@list << WorksheetHyperlink.new(@worksheet, options)
|
|
19
|
+
@list.last
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# The relationships required by this collection's hyperlinks
|
|
23
|
+
# @return Array
|
|
24
|
+
def relationships
|
|
25
|
+
return [] if empty?
|
|
26
|
+
map { |hyperlink| hyperlink.relationship }
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# seralize the collection of hyperlinks
|
|
30
|
+
# @return [String]
|
|
31
|
+
def to_xml_string(str='')
|
|
32
|
+
return if empty?
|
|
33
|
+
str << '<hyperlinks>'
|
|
34
|
+
@list.each { |hyperlink| hyperlink.to_xml_string(str) }
|
|
35
|
+
str << '</hyperlinks>'
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
data/lib/schema/dc.xsd
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
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="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>
|
|
@@ -0,0 +1,52 @@
|
|
|
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/dcmitype/"
|
|
4
|
+
targetNamespace="http://purl.org/dc/dcmitype/"
|
|
5
|
+
elementFormDefault="qualified"
|
|
6
|
+
attributeFormDefault="unqualified">
|
|
7
|
+
|
|
8
|
+
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
|
|
9
|
+
|
|
10
|
+
<xs:annotation>
|
|
11
|
+
<xs:documentation xml:lang="en">
|
|
12
|
+
DCMI Type Vocabulary XML Schema
|
|
13
|
+
XML Schema for http://purl.org/dc/dcmitype/ 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 defines a simpleType which enumerates
|
|
26
|
+
the allowable values for the DCMI Type Vocabulary.
|
|
27
|
+
</xs:documentation>
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
</xs:annotation>
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
<xs:simpleType name="DCMIType">
|
|
34
|
+
<xs:union>
|
|
35
|
+
<xs:simpleType>
|
|
36
|
+
<xs:restriction base="xs:Name">
|
|
37
|
+
<xs:enumeration value="Collection"/>
|
|
38
|
+
<xs:enumeration value="Dataset"/>
|
|
39
|
+
<xs:enumeration value="Event"/>
|
|
40
|
+
<xs:enumeration value="Image"/>
|
|
41
|
+
<xs:enumeration value="InteractiveResource"/>
|
|
42
|
+
<xs:enumeration value="Service"/>
|
|
43
|
+
<xs:enumeration value="Software"/>
|
|
44
|
+
<xs:enumeration value="Sound"/>
|
|
45
|
+
<xs:enumeration value="Text"/>
|
|
46
|
+
<xs:enumeration value="PhysicalObject"/>
|
|
47
|
+
</xs:restriction>
|
|
48
|
+
</xs:simpleType>
|
|
49
|
+
</xs:union>
|
|
50
|
+
</xs:simpleType>
|
|
51
|
+
|
|
52
|
+
</xs:schema>
|
|
@@ -0,0 +1,331 @@
|
|
|
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="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>
|