axlsx 1.0.11 → 1.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. data/.yardopts +4 -0
  2. data/README.md +7 -4
  3. data/examples/example.rb +6 -4
  4. data/examples/example.rb~ +112 -0
  5. data/lib/schema/dc.xsd~ +118 -0
  6. data/lib/schema/dcterms.xsd~ +331 -0
  7. data/lib/schema/opc-coreProperties.xsd~ +50 -0
  8. metadata +43 -193
  9. data/Gemfile +0 -3
  10. data/Gemfile.lock +0 -29
  11. data/axlsx.gemspec +0 -42
  12. data/doc/Axlsx.html +0 -2718
  13. data/doc/Axlsx/App.html +0 -2640
  14. data/doc/Axlsx/Axis.html +0 -1075
  15. data/doc/Axlsx/Bar3DChart.html +0 -1182
  16. data/doc/Axlsx/BarSeries.html +0 -711
  17. data/doc/Axlsx/Border.html +0 -779
  18. data/doc/Axlsx/BorderPr.html +0 -709
  19. data/doc/Axlsx/CatAxis.html +0 -769
  20. data/doc/Axlsx/CatAxisData.html +0 -397
  21. data/doc/Axlsx/Cell.html +0 -3187
  22. data/doc/Axlsx/CellAlignment.html +0 -1247
  23. data/doc/Axlsx/CellProtection.html +0 -565
  24. data/doc/Axlsx/CellStyle.html +0 -949
  25. data/doc/Axlsx/Chart.html +0 -1692
  26. data/doc/Axlsx/Color.html +0 -670
  27. data/doc/Axlsx/ContentType.html +0 -335
  28. data/doc/Axlsx/Core.html +0 -465
  29. data/doc/Axlsx/DataTypeValidator.html +0 -324
  30. data/doc/Axlsx/Default.html +0 -565
  31. data/doc/Axlsx/Drawing.html +0 -1264
  32. data/doc/Axlsx/Fill.html +0 -460
  33. data/doc/Axlsx/Font.html +0 -1554
  34. data/doc/Axlsx/GradientFill.html +0 -1026
  35. data/doc/Axlsx/GradientStop.html +0 -526
  36. data/doc/Axlsx/GraphicFrame.html +0 -642
  37. data/doc/Axlsx/Line3DChart.html +0 -1004
  38. data/doc/Axlsx/LineSeries.html +0 -605
  39. data/doc/Axlsx/Marker.html +0 -857
  40. data/doc/Axlsx/NumFmt.html +0 -562
  41. data/doc/Axlsx/OneCellAnchor.html +0 -982
  42. data/doc/Axlsx/Override.html +0 -552
  43. data/doc/Axlsx/Package.html +0 -825
  44. data/doc/Axlsx/Parser.html +0 -549
  45. data/doc/Axlsx/PatternFill.html +0 -681
  46. data/doc/Axlsx/Pic.html +0 -1701
  47. data/doc/Axlsx/PictureLocking.html +0 -1159
  48. data/doc/Axlsx/Pie3DChart.html +0 -489
  49. data/doc/Axlsx/PieSeries.html +0 -710
  50. data/doc/Axlsx/RegexValidator.html +0 -268
  51. data/doc/Axlsx/Relationship.html +0 -554
  52. data/doc/Axlsx/Relationships.html +0 -338
  53. data/doc/Axlsx/RestrictionValidator.html +0 -300
  54. data/doc/Axlsx/Row.html +0 -916
  55. data/doc/Axlsx/Scaling.html +0 -742
  56. data/doc/Axlsx/SerAxis.html +0 -641
  57. data/doc/Axlsx/Series.html +0 -813
  58. data/doc/Axlsx/SeriesTitle.html +0 -290
  59. data/doc/Axlsx/Styles.html +0 -1754
  60. data/doc/Axlsx/TableStyle.html +0 -705
  61. data/doc/Axlsx/TableStyleElement.html +0 -677
  62. data/doc/Axlsx/TableStyles.html +0 -594
  63. data/doc/Axlsx/Title.html +0 -543
  64. data/doc/Axlsx/TwoCellAnchor.html +0 -973
  65. data/doc/Axlsx/ValAxis.html +0 -538
  66. data/doc/Axlsx/ValAxisData.html +0 -321
  67. data/doc/Axlsx/View3D.html +0 -973
  68. data/doc/Axlsx/Workbook.html +0 -1630
  69. data/doc/Axlsx/Worksheet.html +0 -2682
  70. data/doc/Axlsx/Xf.html +0 -1780
  71. data/doc/_index.html +0 -649
  72. data/doc/class_list.html +0 -47
  73. data/doc/css/common.css +0 -1
  74. data/doc/css/full_list.css +0 -55
  75. data/doc/css/style.css +0 -322
  76. data/doc/file.LICENSE.html +0 -91
  77. data/doc/file.README.html +0 -338
  78. data/doc/file_list.html +0 -52
  79. data/doc/frames.html +0 -13
  80. data/doc/index.html +0 -338
  81. data/doc/js/app.js +0 -205
  82. data/doc/js/full_list.js +0 -167
  83. data/doc/js/jquery.js +0 -16
  84. data/doc/method_list.html +0 -3502
  85. data/doc/top-level-namespace.html +0 -103
  86. data/lib/axlsx.rb +0 -54
  87. data/lib/axlsx/content_type/content_type.rb +0 -23
  88. data/lib/axlsx/content_type/default.rb +0 -37
  89. data/lib/axlsx/content_type/override.rb +0 -37
  90. data/lib/axlsx/doc_props/app.rb +0 -178
  91. data/lib/axlsx/doc_props/core.rb +0 -34
  92. data/lib/axlsx/drawing/axis.rb +0 -90
  93. data/lib/axlsx/drawing/bar_3D_chart.rb +0 -128
  94. data/lib/axlsx/drawing/bar_series.rb +0 -64
  95. data/lib/axlsx/drawing/cat_axis.rb +0 -63
  96. data/lib/axlsx/drawing/cat_axis_data.rb +0 -35
  97. data/lib/axlsx/drawing/chart.rb +0 -179
  98. data/lib/axlsx/drawing/drawing.rb +0 -137
  99. data/lib/axlsx/drawing/graphic_frame.rb +0 -52
  100. data/lib/axlsx/drawing/line_3D_chart.rb +0 -106
  101. data/lib/axlsx/drawing/line_series.rb +0 -46
  102. data/lib/axlsx/drawing/marker.rb +0 -61
  103. data/lib/axlsx/drawing/one_cell_anchor.rb +0 -89
  104. data/lib/axlsx/drawing/pic.rb +0 -153
  105. data/lib/axlsx/drawing/picture_locking.rb +0 -72
  106. data/lib/axlsx/drawing/pie_3D_chart.rb +0 -41
  107. data/lib/axlsx/drawing/pie_series.rb +0 -56
  108. data/lib/axlsx/drawing/scaling.rb +0 -59
  109. data/lib/axlsx/drawing/ser_axis.rb +0 -45
  110. data/lib/axlsx/drawing/series.rb +0 -71
  111. data/lib/axlsx/drawing/series_title.rb +0 -22
  112. data/lib/axlsx/drawing/title.rb +0 -61
  113. data/lib/axlsx/drawing/two_cell_anchor.rb +0 -76
  114. data/lib/axlsx/drawing/val_axis.rb +0 -34
  115. data/lib/axlsx/drawing/val_axis_data.rb +0 -28
  116. data/lib/axlsx/drawing/view_3D.rb +0 -85
  117. data/lib/axlsx/package.rb +0 -214
  118. data/lib/axlsx/rels/relationship.rb +0 -44
  119. data/lib/axlsx/rels/relationships.rb +0 -25
  120. data/lib/axlsx/stylesheet/border.rb +0 -57
  121. data/lib/axlsx/stylesheet/border_pr.rb +0 -68
  122. data/lib/axlsx/stylesheet/cell_alignment.rb +0 -105
  123. data/lib/axlsx/stylesheet/cell_protection.rb +0 -36
  124. data/lib/axlsx/stylesheet/cell_style.rb +0 -65
  125. data/lib/axlsx/stylesheet/color.rb +0 -69
  126. data/lib/axlsx/stylesheet/fill.rb +0 -32
  127. data/lib/axlsx/stylesheet/font.rb +0 -139
  128. data/lib/axlsx/stylesheet/gradient_fill.rb +0 -76
  129. data/lib/axlsx/stylesheet/gradient_stop.rb +0 -33
  130. data/lib/axlsx/stylesheet/num_fmt.rb +0 -63
  131. data/lib/axlsx/stylesheet/pattern_fill.rb +0 -66
  132. data/lib/axlsx/stylesheet/styles.rb +0 -298
  133. data/lib/axlsx/stylesheet/table_style.rb +0 -47
  134. data/lib/axlsx/stylesheet/table_style_element.rb +0 -71
  135. data/lib/axlsx/stylesheet/table_styles.rb +0 -39
  136. data/lib/axlsx/stylesheet/xf.rb +0 -138
  137. data/lib/axlsx/util/constants.rb +0 -216
  138. data/lib/axlsx/util/parser.rb +0 -43
  139. data/lib/axlsx/util/simple_typed_list.rb +0 -160
  140. data/lib/axlsx/util/validators.rb +0 -132
  141. data/lib/axlsx/version.rb +0 -4
  142. data/lib/axlsx/workbook/workbook.rb +0 -160
  143. data/lib/axlsx/workbook/worksheet/cell.rb +0 -340
  144. data/lib/axlsx/workbook/worksheet/row.rb +0 -107
  145. data/lib/axlsx/workbook/worksheet/worksheet.rb +0 -278
@@ -0,0 +1,4 @@
1
+ --protected
2
+ --no-private
3
+ --title "AXLSX"
4
+ --files LICENSE
data/README.md CHANGED
@@ -7,10 +7,10 @@ Axlsx: Office Open XML Spreadsheet Generation
7
7
  **Author**: Randy Morgan
8
8
  **Copyright**: 2011
9
9
  **License**: MIT License
10
- **Latest Version**: 1.0.11
10
+ **Latest Version**: 1.0.12
11
11
  **Ruby Version**: 1.8.7, 1.9.2, 1.9.3
12
12
 
13
- **Release Date**: December 5th 2011
13
+ **Release Date**: December 7th 2011
14
14
 
15
15
  Synopsis
16
16
  --------
@@ -81,7 +81,7 @@ A Simple Workbook
81
81
 
82
82
  p = Axlsx::Package.new
83
83
  p.workbook.add_worksheet do |sheet|
84
- sheet.add_row ["First", "Second", "Third"]
84
+ sheet.add_row ["First Column", "Second Column", "Third Column"]
85
85
  sheet.add_row [1, 2, Time.now]
86
86
  end
87
87
  p.serialize("example1.xlsx")
@@ -105,7 +105,7 @@ Generating A Pie Chart
105
105
  p.workbook.add_worksheet do |sheet|
106
106
  sheet.add_row ["First", "Second", "Third", "Fourth"]
107
107
  sheet.add_row [1, 2, 3, "=PRODUCT(A2:C2)"]
108
- sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0, 2], :end_at => [5, 15], :title=>"example 3: Pie Chart") do |chart|
108
+ sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0, 2], :end_at => [5, 25], :title=>"example 3: Pie Chart") do |chart|
109
109
  chart.add_series :data => sheet["A2:D2"], :labels => sheet["A1:D1"]
110
110
  end
111
111
  end
@@ -244,6 +244,9 @@ This gem has 100% test coverage using test/unit. To execute tests for this gem,
244
244
 
245
245
  Changelog
246
246
  ---------
247
+ - **December.7.11**: 1.0.12 release
248
+ - changed dependency from 'zip' jem to 'rubyzip' and added conditional code to force binary encoding to resolve issue with excel 2011
249
+ - Patched bug in app.xml that would ignore user specified properties.
247
250
  - **December.5.11**: 1.0.11 release
248
251
  - Added [] methods to worksheet and workbook to provide name based access to cells.
249
252
  - Added support for functions as cell values
@@ -1,16 +1,18 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- coding: utf-8 -*-
3
- require 'rubygems'
4
- require 'axlsx.rb'
3
+ # require 'rubygems' if that is how you do it!
4
+ require 'axlsx'
5
5
 
6
6
 
7
7
  #A Simple Workbook
8
8
  if ARGV.size == 0 || ARGV.include?("1")
9
9
  p = Axlsx::Package.new
10
10
  p.workbook.add_worksheet do |sheet|
11
- sheet.add_row ["First", "Second", "Third"]
12
- sheet.add_row [1, 2, Time.now]
11
+ sheet.add_row ["First Column", "Second", "Third"]
12
+ sheet.add_row [1, 2, 3]
13
13
  end
14
+ #p.workbook.date1904 = true
15
+ p.validate.each { |e| puts e.message }
14
16
  p.serialize("example1.xlsx")
15
17
  end
16
18
  #Generating A Bar Chart
@@ -0,0 +1,112 @@
1
+ # encoding: UTF-8
2
+ require 'rubygems'
3
+ require 'axlsx.rb'
4
+
5
+
6
+ #A Simple Workbook
7
+ p = Axlsx::Package.new
8
+ p.workbook.add_worksheet do |sheet|
9
+ sheet.add_row ["First", "Second", "Third"]
10
+ sheet.add_row [1, 2, 3]
11
+ end
12
+ p.serialize("example1.xlsx")
13
+
14
+ #Generating A Bar Chart
15
+ p = Axlsx::Package.new
16
+ p.workbook.add_worksheet do |sheet|
17
+ sheet.add_row ["First", "Second", "Third"]
18
+ sheet.add_row [1, 2, 3]
19
+ sheet.add_chart(Axlsx::Bar3DChart, :start_at => [0,2], :end_at => [5, 15], :title=>"example 2: Chart") do |chart|
20
+ chart.add_series :data=>sheet.rows.last.cells, :labels=> sheet.rows.first.cells
21
+ end
22
+ end
23
+ p.serialize("example2.xlsx")
24
+
25
+ #Generating A Pie Chart
26
+ p = Axlsx::Package.new
27
+ p.workbook.add_worksheet do |sheet|
28
+ sheet.add_row ["First", "Second", "Third"]
29
+ sheet.add_row [1, 2, 3]
30
+ sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,2], :end_at => [5, 15], :title=>"example 3: Pie Chart") do |chart|
31
+ chart.add_series :data=>sheet.rows.last.cells, :labels=> sheet.rows.first.cells
32
+ end
33
+ end
34
+ p.serialize("example3.xlsx")
35
+
36
+
37
+ #Using Custom Styles
38
+
39
+ p = Axlsx::Package.new
40
+ wb = p.workbook
41
+ black_cell = wb.styles.add_style :bg_color => "FF000000", :fg_color => "FFFFFFFF", :sz=>14, :alignment => { :horizontal=> :center }
42
+ blue_cell = wb.styles.add_style :bg_color => "FF0000FF", :fg_color => "FFFFFFFF", :sz=>14, :alignment => { :horizontal=> :center }
43
+ wb.add_worksheet do |sheet|
44
+ sheet.add_row ["Text Autowidth", "Second", "Third"], :style => [black_cell, blue_cell, black_cell]
45
+ sheet.add_row [1, 2, 3], :style => Axlsx::STYLE_THIN_BORDER
46
+ end
47
+ p.serialize("example4.xlsx")
48
+
49
+ #Using Custom Formatting and date1904
50
+
51
+ p = Axlsx::Package.new
52
+ wb = p.workbook
53
+ date = wb.styles.add_style :format_code=>"yyyy-mm-dd", :border => Axlsx::STYLE_THIN_BORDER
54
+ padded = wb.styles.add_style :format_code=>"00#", :border => Axlsx::STYLE_THIN_BORDER
55
+ percent = wb.styles.add_style :format_code=>"0%", :border => Axlsx::STYLE_THIN_BORDER
56
+ wb.date1904 = true # required for generation on mac
57
+ wb.add_worksheet do |sheet|
58
+ sheet.add_row ["Custom Formatted Date", "Percent Formatted Float", "Padded Numbers"], :style => Axlsx::STYLE_THIN_BORDER
59
+ sheet.add_row [Time.now, 0.2, 32], :style => [date, percent, padded]
60
+ end
61
+ p.serialize("example5.xlsx")
62
+
63
+ #Validation
64
+
65
+ p = Axlsx::Package.new
66
+ p.workbook.add_worksheet do |sheet|
67
+ sheet.add_row ["First", "Second", "Third"]
68
+ sheet.add_row [1, 2, 3]
69
+ end
70
+
71
+ p.validate.each do |error|
72
+ puts error.inspect
73
+ end
74
+
75
+ #Generating A Line Chart
76
+
77
+ p = Axlsx::Package.new
78
+ p.workbook.add_worksheet do |sheet|
79
+ sheet.add_row ["First", 1, 5, 7, 9]
80
+ sheet.add_row ["Second", 5, 2, 14, 9]
81
+ sheet.add_chart(Axlsx::Line3DChart, :title=>"example 6: Line Chart") do |chart|
82
+ chart.start_at 0, 2
83
+ chart.end_at 10, 15
84
+ chart.add_series :data=>sheet.rows.first.cells[(1..-1)], :title=> sheet.rows.first.cells.first
85
+ chart.add_series :data=>sheet.rows.last.cells[(1..-1)], :title=> sheet.rows.last.cells.first
86
+ end
87
+
88
+ end
89
+ p.serialize("example6.xlsx")
90
+
91
+ #Add an Image
92
+
93
+ p = Axlsx::Package.new
94
+ p.workbook.add_worksheet do |sheet|
95
+ img = File.expand_path('examples/image1.jpeg')
96
+ puts img
97
+ sheet.add_image(:image_src => img) do |image|
98
+ image.width=720
99
+ image.height=666
100
+ image.start_at 2, 2
101
+ end
102
+ end
103
+ p.serialize("example7.xlsx")
104
+
105
+
106
+ #Japanese Support
107
+
108
+ p = Axlsx::Package.new
109
+ p.workbook.add_worksheet do |sheet|
110
+ sheet.add_row ["���{�� "]
111
+ end
112
+ p.serialize("example8.xlsx")
@@ -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="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>
@@ -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="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>