origami-docspring 2.2.0 → 2.3.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.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/examples/attachments/attachment.rb +7 -8
  4. data/examples/attachments/nested_document.rb +6 -5
  5. data/examples/encryption/encryption.rb +5 -4
  6. data/examples/events/events.rb +7 -6
  7. data/examples/flash/flash.rb +10 -9
  8. data/examples/forms/javascript.rb +14 -13
  9. data/examples/forms/xfa.rb +67 -66
  10. data/examples/javascript/hello_world.rb +6 -5
  11. data/examples/javascript/js_emulation.rb +26 -26
  12. data/examples/loop/goto.rb +12 -11
  13. data/examples/loop/named.rb +17 -16
  14. data/examples/signature/signature.rb +11 -11
  15. data/examples/uri/javascript.rb +25 -24
  16. data/examples/uri/open-uri.rb +5 -4
  17. data/examples/uri/submitform.rb +11 -10
  18. data/lib/origami/3d.rb +330 -334
  19. data/lib/origami/acroform.rb +267 -268
  20. data/lib/origami/actions.rb +266 -278
  21. data/lib/origami/annotations.rb +659 -670
  22. data/lib/origami/array.rb +192 -196
  23. data/lib/origami/boolean.rb +66 -70
  24. data/lib/origami/catalog.rb +360 -363
  25. data/lib/origami/collections.rb +132 -133
  26. data/lib/origami/compound.rb +125 -129
  27. data/lib/origami/destinations.rb +226 -237
  28. data/lib/origami/dictionary.rb +155 -154
  29. data/lib/origami/encryption.rb +967 -923
  30. data/lib/origami/extensions/fdf.rb +270 -275
  31. data/lib/origami/extensions/ppklite.rb +323 -328
  32. data/lib/origami/filespec.rb +170 -173
  33. data/lib/origami/filters/ascii.rb +162 -167
  34. data/lib/origami/filters/ccitt/tables.rb +248 -252
  35. data/lib/origami/filters/ccitt.rb +309 -312
  36. data/lib/origami/filters/crypt.rb +31 -34
  37. data/lib/origami/filters/dct.rb +47 -50
  38. data/lib/origami/filters/flate.rb +57 -60
  39. data/lib/origami/filters/jbig2.rb +50 -53
  40. data/lib/origami/filters/jpx.rb +40 -43
  41. data/lib/origami/filters/lzw.rb +151 -155
  42. data/lib/origami/filters/predictors.rb +250 -255
  43. data/lib/origami/filters/runlength.rb +111 -115
  44. data/lib/origami/filters.rb +319 -325
  45. data/lib/origami/font.rb +173 -177
  46. data/lib/origami/functions.rb +62 -66
  47. data/lib/origami/graphics/colors.rb +203 -208
  48. data/lib/origami/graphics/instruction.rb +79 -81
  49. data/lib/origami/graphics/path.rb +141 -144
  50. data/lib/origami/graphics/patterns.rb +156 -160
  51. data/lib/origami/graphics/render.rb +51 -47
  52. data/lib/origami/graphics/state.rb +144 -142
  53. data/lib/origami/graphics/text.rb +185 -188
  54. data/lib/origami/graphics/xobject.rb +818 -804
  55. data/lib/origami/graphics.rb +25 -26
  56. data/lib/origami/header.rb +63 -65
  57. data/lib/origami/javascript.rb +718 -651
  58. data/lib/origami/linearization.rb +284 -285
  59. data/lib/origami/metadata.rb +156 -135
  60. data/lib/origami/name.rb +98 -100
  61. data/lib/origami/null.rb +49 -51
  62. data/lib/origami/numeric.rb +133 -135
  63. data/lib/origami/obfuscation.rb +180 -182
  64. data/lib/origami/object.rb +634 -631
  65. data/lib/origami/optionalcontent.rb +147 -149
  66. data/lib/origami/outline.rb +46 -48
  67. data/lib/origami/outputintents.rb +76 -77
  68. data/lib/origami/page.rb +637 -596
  69. data/lib/origami/parser.rb +214 -221
  70. data/lib/origami/parsers/fdf.rb +44 -45
  71. data/lib/origami/parsers/pdf/lazy.rb +147 -154
  72. data/lib/origami/parsers/pdf/linear.rb +104 -109
  73. data/lib/origami/parsers/pdf.rb +109 -107
  74. data/lib/origami/parsers/ppklite.rb +44 -46
  75. data/lib/origami/pdf.rb +886 -896
  76. data/lib/origami/reference.rb +116 -120
  77. data/lib/origami/signature.rb +617 -625
  78. data/lib/origami/stream.rb +560 -558
  79. data/lib/origami/string.rb +366 -368
  80. data/lib/origami/template/patterns.rb +50 -52
  81. data/lib/origami/template/widgets.rb +111 -114
  82. data/lib/origami/trailer.rb +153 -157
  83. data/lib/origami/tree.rb +55 -57
  84. data/lib/origami/version.rb +19 -19
  85. data/lib/origami/webcapture.rb +87 -90
  86. data/lib/origami/xfa/config.rb +409 -414
  87. data/lib/origami/xfa/connectionset.rb +113 -117
  88. data/lib/origami/xfa/datasets.rb +38 -42
  89. data/lib/origami/xfa/localeset.rb +33 -37
  90. data/lib/origami/xfa/package.rb +49 -52
  91. data/lib/origami/xfa/pdf.rb +54 -59
  92. data/lib/origami/xfa/signature.rb +33 -37
  93. data/lib/origami/xfa/sourceset.rb +34 -38
  94. data/lib/origami/xfa/stylesheet.rb +35 -39
  95. data/lib/origami/xfa/template.rb +1630 -1634
  96. data/lib/origami/xfa/xdc.rb +33 -37
  97. data/lib/origami/xfa/xfa.rb +132 -123
  98. data/lib/origami/xfa/xfdf.rb +34 -38
  99. data/lib/origami/xfa/xmpmeta.rb +34 -38
  100. data/lib/origami/xfa.rb +50 -53
  101. data/lib/origami/xreftable.rb +462 -462
  102. data/lib/origami.rb +37 -38
  103. data/test/test_actions.rb +22 -20
  104. data/test/test_annotations.rb +54 -52
  105. data/test/test_forms.rb +23 -21
  106. data/test/test_native_types.rb +82 -78
  107. data/test/test_object_tree.rb +25 -24
  108. data/test/test_pages.rb +43 -41
  109. data/test/test_pdf.rb +2 -0
  110. data/test/test_pdf_attachment.rb +23 -21
  111. data/test/test_pdf_create.rb +16 -15
  112. data/test/test_pdf_encrypt.rb +69 -66
  113. data/test/test_pdf_parse.rb +131 -129
  114. data/test/test_pdf_parse_lazy.rb +53 -53
  115. data/test/test_pdf_sign.rb +67 -67
  116. data/test/test_streams.rb +145 -143
  117. data/test/test_xrefs.rb +46 -45
  118. metadata +64 -8
@@ -1,146 +1,142 @@
1
- =begin
2
-
3
- This file is part of Origami, PDF manipulation framework for Ruby
4
- Copyright (C) 2017 Guillaume Delugré.
5
-
6
- Origami is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Origami is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with Origami. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- =end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # This file is part of Origami, PDF manipulation framework for Ruby
5
+ # Copyright (C) 2017 Guillaume Delugré.
6
+ #
7
+ # Origami is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Lesser General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # Origami is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public License
18
+ # along with Origami. If not, see <http://www.gnu.org/licenses/>.
19
+ #
20
20
 
21
21
  module Origami
22
-
23
- module XFA
24
- class ConnectionElement < Element
25
- xfa_attribute 'dataDescription'
26
- xfa_attribute 'name'
27
- end
22
+ module XFA
23
+ class ConnectionElement < Element
24
+ xfa_attribute 'dataDescription'
25
+ xfa_attribute 'name'
28
26
  end
27
+ end
29
28
 
30
- module XDP
31
-
32
- module Packet
29
+ module XDP
30
+ module Packet
31
+ #
32
+ # The _connectionSet_ packet describes the connections used to initiate or conduct web services.
33
+ #
34
+ class ConnectionSet < XFA::Element
35
+ mime_type 'text/xml'
33
36
 
34
- #
35
- # The _connectionSet_ packet describes the connections used to initiate or conduct web services.
36
- #
37
- class ConnectionSet < XFA::Element
38
- mime_type 'text/xml'
37
+ def initialize
38
+ super("connectionSet")
39
39
 
40
- def initialize
41
- super("connectionSet")
42
-
43
- add_attribute 'xmlns', 'http://www.xfa.org/schema/xfa-connection-set/2.8/'
44
- end
40
+ add_attribute 'xmlns', 'http://www.xfa.org/schema/xfa-connection-set/2.8/'
41
+ end
45
42
 
46
- class EffectiveInputPolicy < XFA::NamedTemplateElement
47
- def initialize
48
- super('effectiveInputPolicy')
49
- end
50
- end
43
+ class EffectiveInputPolicy < XFA::NamedTemplateElement
44
+ def initialize
45
+ super('effectiveInputPolicy')
46
+ end
47
+ end
51
48
 
52
- class EffectiveOutputPolicy < XFA::NamedTemplateElement
53
- def initialize
54
- super('effectiveOutputPolicy')
55
- end
56
- end
49
+ class EffectiveOutputPolicy < XFA::NamedTemplateElement
50
+ def initialize
51
+ super('effectiveOutputPolicy')
52
+ end
53
+ end
57
54
 
58
- class Operation < XFA::NamedTemplateElement
59
- xfa_attribute 'input'
60
- xfa_attribute 'output'
55
+ class Operation < XFA::NamedTemplateElement
56
+ xfa_attribute 'input'
57
+ xfa_attribute 'output'
61
58
 
62
- def initialize(name = "")
63
- super('operation')
59
+ def initialize(name = "")
60
+ super('operation')
64
61
 
65
- self.text = name
66
- end
67
- end
62
+ self.text = name
63
+ end
64
+ end
68
65
 
69
- class SOAPAction < XFA::NamedTemplateElement
70
- def initialize(uri = "")
71
- super('soapAction')
66
+ class SOAPAction < XFA::NamedTemplateElement
67
+ def initialize(uri = "")
68
+ super('soapAction')
72
69
 
73
- self.text = uri
74
- end
75
- end
70
+ self.text = uri
71
+ end
72
+ end
76
73
 
77
- class SOAPAddress < XFA::NamedTemplateElement
78
- def initialize(addr = "")
79
- super('soapAddress')
74
+ class SOAPAddress < XFA::NamedTemplateElement
75
+ def initialize(addr = "")
76
+ super('soapAddress')
80
77
 
81
- self.text = addr
82
- end
83
- end
78
+ self.text = addr
79
+ end
80
+ end
84
81
 
85
- class WSDLAddress < XFA::NamedTemplateElement
86
- def initialize(addr = "")
87
- super('wsdlAddress')
82
+ class WSDLAddress < XFA::NamedTemplateElement
83
+ def initialize(addr = "")
84
+ super('wsdlAddress')
88
85
 
89
- self.text = addr
90
- end
91
- end
86
+ self.text = addr
87
+ end
88
+ end
92
89
 
93
- class WSDLConnection < XFA::ConnectionElement
94
- xfa_node 'effectiveInputPolicy', ConnectionSet::EffectiveInputPolicy, 0..1
95
- xfa_node 'effectiveOutputPolicy', ConnectionSet::EffectiveOutputPolicy, 0..1
96
- xfa_node 'operation', ConnectionSet::Operation, 0..1
97
- xfa_node 'soapAction', ConnectionSet::SOAPAction, 0..1
98
- xfa_node 'soapAddress', ConnectionSet::SOAPAddress, 0..1
99
- xfa_node 'wsdlAddress', ConnectionSet::WSDLAddress, 0..1
90
+ class WSDLConnection < XFA::ConnectionElement
91
+ xfa_node 'effectiveInputPolicy', ConnectionSet::EffectiveInputPolicy, 0..1
92
+ xfa_node 'effectiveOutputPolicy', ConnectionSet::EffectiveOutputPolicy, 0..1
93
+ xfa_node 'operation', ConnectionSet::Operation, 0..1
94
+ xfa_node 'soapAction', ConnectionSet::SOAPAction, 0..1
95
+ xfa_node 'soapAddress', ConnectionSet::SOAPAddress, 0..1
96
+ xfa_node 'wsdlAddress', ConnectionSet::WSDLAddress, 0..1
97
+
98
+ def initialize
99
+ super('wsdlConnection')
100
+ end
101
+ end
100
102
 
101
- def initialize
102
- super('wsdlConnection')
103
- end
104
- end
103
+ class URI < XFA::NamedTemplateElement
104
+ def initialize(uri = "")
105
+ super('uri')
105
106
 
106
- class URI < XFA::NamedTemplateElement
107
- def initialize(uri = "")
108
- super('uri')
107
+ self.text = uri
108
+ end
109
+ end
109
110
 
110
- self.text = uri
111
- end
112
- end
111
+ class RootElement < XFA::NamedTemplateElement
112
+ def initialize(root = '')
113
+ super('rootElement')
113
114
 
114
- class RootElement < XFA::NamedTemplateElement
115
- def initialize(root = '')
116
- super('rootElement')
115
+ self.text = root
116
+ end
117
+ end
117
118
 
118
- self.text = root
119
- end
120
- end
119
+ class XSDConnection < XFA::ConnectionElement
120
+ xfa_node 'rootElement', ConnectionSet::RootElement, 0..1
121
+ xfa_node 'uri', ConnectionSet::URI, 0..1
121
122
 
122
- class XSDConnection < XFA::ConnectionElement
123
- xfa_node 'rootElement', ConnectionSet::RootElement, 0..1
124
- xfa_node 'uri', ConnectionSet::URI, 0..1
123
+ def initialize
124
+ super('xsdConnection')
125
+ end
126
+ end
125
127
 
126
- def initialize
127
- super('xsdConnection')
128
- end
129
- end
130
-
131
- class XMLConnection < XFA::ConnectionElement
132
- xfa_node 'uri', ConnectionSet::URI, 0..1
133
-
134
- def initialize
135
- super('xmlConnection')
136
- end
137
- end
138
-
139
- xfa_node 'wsdlConnection', ConnectionSet::WSDLConnection
140
- xfa_node 'xmlConnection', ConnectionSet::XMLConnection
141
- xfa_node 'xsdConnection', ConnectionSet::XSDConnection
142
- end
128
+ class XMLConnection < XFA::ConnectionElement
129
+ xfa_node 'uri', ConnectionSet::URI, 0..1
143
130
 
131
+ def initialize
132
+ super('xmlConnection')
133
+ end
144
134
  end
135
+
136
+ xfa_node 'wsdlConnection', ConnectionSet::WSDLConnection
137
+ xfa_node 'xmlConnection', ConnectionSet::XMLConnection
138
+ xfa_node 'xsdConnection', ConnectionSet::XSDConnection
139
+ end
145
140
  end
141
+ end
146
142
  end
@@ -1,49 +1,45 @@
1
- =begin
2
-
3
- This file is part of Origami, PDF manipulation framework for Ruby
4
- Copyright (C) 2017 Guillaume Delugré.
5
-
6
- Origami is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Origami is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with Origami. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- =end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # This file is part of Origami, PDF manipulation framework for Ruby
5
+ # Copyright (C) 2017 Guillaume Delugré.
6
+ #
7
+ # Origami is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Lesser General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # Origami is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public License
18
+ # along with Origami. If not, see <http://www.gnu.org/licenses/>.
19
+ #
20
20
 
21
21
  module Origami
22
+ module XDP
23
+ module Packet
24
+ #
25
+ # The _datasets_ element enclosed XML data content that may have originated from an XFA form and/or
26
+ # may be intended to be consumed by an XFA form.
27
+ #
28
+ class Datasets < XFA::Element
29
+ mime_type 'text/xml'
30
+
31
+ class Data < XFA::Element
32
+ def initialize
33
+ super('xfa:data')
34
+ end
35
+ end
22
36
 
23
- module XDP
24
-
25
- module Packet
26
-
27
- #
28
- # The _datasets_ element enclosed XML data content that may have originated from an XFA form and/or
29
- # may be intended to be consumed by an XFA form.
30
- #
31
- class Datasets < XFA::Element
32
- mime_type 'text/xml'
33
-
34
- class Data < XFA::Element
35
- def initialize
36
- super('xfa:data')
37
- end
38
- end
39
-
40
- def initialize
41
- super("xfa:datasets")
42
-
43
- add_attribute 'xmlns:xfa', 'http://www.xfa.org/schema/xfa-data/1.0/'
44
- end
45
- end
37
+ def initialize
38
+ super("xfa:datasets")
46
39
 
40
+ add_attribute 'xmlns:xfa', 'http://www.xfa.org/schema/xfa-data/1.0/'
47
41
  end
42
+ end
48
43
  end
44
+ end
49
45
  end
@@ -1,42 +1,38 @@
1
- =begin
2
-
3
- This file is part of Origami, PDF manipulation framework for Ruby
4
- Copyright (C) 2017 Guillaume Delugré.
5
-
6
- Origami is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Origami is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with Origami. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- =end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # This file is part of Origami, PDF manipulation framework for Ruby
5
+ # Copyright (C) 2017 Guillaume Delugré.
6
+ #
7
+ # Origami is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Lesser General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # Origami is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public License
18
+ # along with Origami. If not, see <http://www.gnu.org/licenses/>.
19
+ #
20
20
 
21
21
  module Origami
22
-
23
- module XDP
24
-
25
- module Packet
26
-
27
- #
28
- # The _localeSet_ packet encloses information about locales.
29
- #
30
- class LocaleSet < XFA::Element
31
- mime_type 'text/xml'
32
-
33
- def initialize
34
- super("localeSet")
35
-
36
- add_attribute 'xmlns', 'http://www.xfa.org/schema/xfa-locale-set/2.7/'
37
- end
38
- end
39
-
22
+ module XDP
23
+ module Packet
24
+ #
25
+ # The _localeSet_ packet encloses information about locales.
26
+ #
27
+ class LocaleSet < XFA::Element
28
+ mime_type 'text/xml'
29
+
30
+ def initialize
31
+ super("localeSet")
32
+
33
+ add_attribute 'xmlns', 'http://www.xfa.org/schema/xfa-locale-set/2.7/'
40
34
  end
35
+ end
41
36
  end
37
+ end
42
38
  end
@@ -1,59 +1,56 @@
1
- =begin
2
-
3
- This file is part of Origami, PDF manipulation framework for Ruby
4
- Copyright (C) 2017 Guillaume Delugré.
5
-
6
- Origami is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Origami is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with Origami. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- =end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # This file is part of Origami, PDF manipulation framework for Ruby
5
+ # Copyright (C) 2017 Guillaume Delugré.
6
+ #
7
+ # Origami is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Lesser General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # Origami is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public License
18
+ # along with Origami. If not, see <http://www.gnu.org/licenses/>.
19
+ #
20
20
 
21
21
  require 'rexml/document'
22
22
 
23
23
  module Origami
24
-
25
- module XDP
26
-
27
- class XDP < XFA::Element
28
- xfa_attribute 'uuid'
29
- xfa_attribute 'timeStamp'
30
-
31
- xfa_node 'config', Origami::XDP::Packet::Config, 0..1
32
- xfa_node 'connectionSet', Origami::XDP::Packet::ConnectionSet, 0..1
33
- xfa_node 'datasets', Origami::XDP::Packet::Datasets, 0..1
34
- xfa_node 'localeSet', Origami::XDP::Packet::LocaleSet, 0..1
35
- xfa_node 'pdf', Origami::XDP::Packet::PDF, 0..1
36
- xfa_node 'sourceSet', Origami::XDP::Packet::SourceSet, 0..1
37
- xfa_node 'styleSheet', Origami::XDP::Packet::StyleSheet, 0..1
38
- xfa_node 'template', Origami::XDP::Packet::Template, 0..1
39
- xfa_node 'xdc', Origami::XDP::Packet::XDC, 0..1
40
- xfa_node 'xfdf', Origami::XDP::Packet::XFDF, 0..1
41
- xfa_node 'xmpmeta', Origami::XDP::Packet::XMPMeta, 0..1
42
-
43
- def initialize
44
- super('xdp:xdp')
45
-
46
- add_attribute 'xmlns:xdp', 'http://ns.adobe.com/xdp/'
47
- end
48
- end
49
-
50
- class Package < REXML::Document
51
- def initialize(package = nil)
52
- super(package || REXML::XMLDecl.new.to_s)
53
-
54
- add_element Origami::XDP::XDP.new if package.nil?
55
- end
56
- end
24
+ module XDP
25
+ class XDP < XFA::Element
26
+ xfa_attribute 'uuid'
27
+ xfa_attribute 'timeStamp'
28
+
29
+ xfa_node 'config', Origami::XDP::Packet::Config, 0..1
30
+ xfa_node 'connectionSet', Origami::XDP::Packet::ConnectionSet, 0..1
31
+ xfa_node 'datasets', Origami::XDP::Packet::Datasets, 0..1
32
+ xfa_node 'localeSet', Origami::XDP::Packet::LocaleSet, 0..1
33
+ xfa_node 'pdf', Origami::XDP::Packet::PDF, 0..1
34
+ xfa_node 'sourceSet', Origami::XDP::Packet::SourceSet, 0..1
35
+ xfa_node 'styleSheet', Origami::XDP::Packet::StyleSheet, 0..1
36
+ xfa_node 'template', Origami::XDP::Packet::Template, 0..1
37
+ xfa_node 'xdc', Origami::XDP::Packet::XDC, 0..1
38
+ xfa_node 'xfdf', Origami::XDP::Packet::XFDF, 0..1
39
+ xfa_node 'xmpmeta', Origami::XDP::Packet::XMPMeta, 0..1
40
+
41
+ def initialize
42
+ super('xdp:xdp')
43
+
44
+ add_attribute 'xmlns:xdp', 'http://ns.adobe.com/xdp/'
45
+ end
57
46
  end
58
47
 
48
+ class Package < REXML::Document
49
+ def initialize(package = nil)
50
+ super(package || REXML::XMLDecl.new.to_s)
51
+
52
+ add_element Origami::XDP::XDP.new if package.nil?
53
+ end
54
+ end
55
+ end
59
56
  end