reqif 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/rake.yml +18 -0
  3. data/.github/workflows/release.yml +25 -0
  4. data/.gitignore +11 -0
  5. data/.rspec +3 -0
  6. data/.rubocop.yml +8 -0
  7. data/Gemfile +13 -0
  8. data/README.adoc +73 -0
  9. data/Rakefile +12 -0
  10. data/bin/console +11 -0
  11. data/bin/setup +8 -0
  12. data/lib/reqif/alternative_id.rb +14 -0
  13. data/lib/reqif/attribute_definition_boolean.rb +28 -0
  14. data/lib/reqif/attribute_definition_date.rb +28 -0
  15. data/lib/reqif/attribute_definition_enumeration.rb +30 -0
  16. data/lib/reqif/attribute_definition_integer.rb +28 -0
  17. data/lib/reqif/attribute_definition_real.rb +28 -0
  18. data/lib/reqif/attribute_definition_string.rb +28 -0
  19. data/lib/reqif/attribute_definition_xhtml.rb +28 -0
  20. data/lib/reqif/attribute_value_boolean.rb +16 -0
  21. data/lib/reqif/attribute_value_date.rb +16 -0
  22. data/lib/reqif/attribute_value_enumeration.rb +16 -0
  23. data/lib/reqif/attribute_value_integer.rb +16 -0
  24. data/lib/reqif/attribute_value_real.rb +16 -0
  25. data/lib/reqif/attribute_value_string.rb +16 -0
  26. data/lib/reqif/attribute_value_xhtml.rb +20 -0
  27. data/lib/reqif/children.rb +14 -0
  28. data/lib/reqif/core_content.rb +14 -0
  29. data/lib/reqif/datatype_definition_boolean.rb +22 -0
  30. data/lib/reqif/datatype_definition_date.rb +22 -0
  31. data/lib/reqif/datatype_definition_enumeration.rb +24 -0
  32. data/lib/reqif/datatype_definition_integer.rb +26 -0
  33. data/lib/reqif/datatype_definition_real.rb +28 -0
  34. data/lib/reqif/datatype_definition_string.rb +24 -0
  35. data/lib/reqif/datatype_definition_xhtml.rb +22 -0
  36. data/lib/reqif/datatypes.rb +26 -0
  37. data/lib/reqif/default_value.rb +27 -0
  38. data/lib/reqif/definition.rb +27 -0
  39. data/lib/reqif/editable_atts.rb +26 -0
  40. data/lib/reqif/embedded_value.rb +16 -0
  41. data/lib/reqif/enum_value.rb +24 -0
  42. data/lib/reqif/object.rb +14 -0
  43. data/lib/reqif/properties.rb +14 -0
  44. data/lib/reqif/relation_group.rb +30 -0
  45. data/lib/reqif/relation_group_type.rb +24 -0
  46. data/lib/reqif/req_if.rb +18 -0
  47. data/lib/reqif/req_if_content.rb +24 -0
  48. data/lib/reqif/req_if_header.rb +28 -0
  49. data/lib/reqif/req_if_tool_extension.rb +10 -0
  50. data/lib/reqif/source.rb +14 -0
  51. data/lib/reqif/source_specification.rb +14 -0
  52. data/lib/reqif/spec_attributes.rb +26 -0
  53. data/lib/reqif/spec_hierarchy.rb +32 -0
  54. data/lib/reqif/spec_object.rb +26 -0
  55. data/lib/reqif/spec_object_type.rb +24 -0
  56. data/lib/reqif/spec_objects.rb +14 -0
  57. data/lib/reqif/spec_relation.rb +30 -0
  58. data/lib/reqif/spec_relation_groups.rb +14 -0
  59. data/lib/reqif/spec_relation_type.rb +24 -0
  60. data/lib/reqif/spec_relations.rb +17 -0
  61. data/lib/reqif/spec_types.rb +20 -0
  62. data/lib/reqif/specification.rb +28 -0
  63. data/lib/reqif/specification_type.rb +24 -0
  64. data/lib/reqif/specifications.rb +14 -0
  65. data/lib/reqif/specified_values.rb +14 -0
  66. data/lib/reqif/target.rb +14 -0
  67. data/lib/reqif/target_specification.rb +14 -0
  68. data/lib/reqif/the_header.rb +14 -0
  69. data/lib/reqif/tool_extensions.rb +14 -0
  70. data/lib/reqif/type.rb +35 -0
  71. data/lib/reqif/values.rb +30 -0
  72. data/lib/reqif/version.rb +5 -0
  73. data/lib/reqif/xhtml_content.rb +10 -0
  74. data/lib/reqif.rb +22 -0
  75. data/references/driver.xsd +270 -0
  76. data/references/reqif.xsd +893 -0
  77. data/reqif.gemspec +36 -0
  78. data/sig/reqif.rbs +4 -0
  79. metadata +151 -0
@@ -0,0 +1,17 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecRelations < Lutaml::Model::Serializable
5
+ attribute :spec_relation, SpecRelation, collection: true
6
+ attribute :spec_relation_ref, :string, collection: true
7
+
8
+ xml do
9
+ root "SPEC-RELATIONS"
10
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
11
+
12
+ # TODO: Only one of these values can be active at the same time
13
+ map_element "SPEC-RELATION", to: :spec_relation
14
+ map_element "SPEC-RELATION-REF", to: :spec_relation_ref
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,20 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecTypes < Lutaml::Model::Serializable
5
+ attribute :relation_group_type, RelationGroupType, collection: true
6
+ attribute :spec_object_type, SpecObjectType, collection: true
7
+ attribute :spec_relation_type, SpecRelationType, collection: true
8
+ attribute :specification_type, SpecificationType, collection: true
9
+
10
+ xml do
11
+ root "SPEC-TYPES"
12
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
13
+
14
+ map_element "RELATION-GROUP-TYPE", to: :relation_group_type
15
+ map_element "SPEC-OBJECT-TYPE", to: :spec_object_type
16
+ map_element "SPEC-RELATION-TYPE", to: :spec_relation_type
17
+ map_element "SPECIFICATION-TYPE", to: :specification_type
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,28 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Specification < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+ attribute :values, Values
11
+ attribute :children, Children
12
+ attribute :type, Type
13
+
14
+ xml do
15
+ root "SPECIFICATION"
16
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
17
+
18
+ map_attribute "DESC", to: :desc
19
+ map_attribute "IDENTIFIER", to: :identifier
20
+ map_attribute "LAST-CHANGE", to: :last_change
21
+ map_attribute "LONG-NAME", to: :long_name
22
+ map_element "ALTERNATIVE-ID", to: :alternative_id
23
+ map_element "VALUES", to: :values
24
+ map_element "CHILDREN", to: :children
25
+ map_element "TYPE", to: :type
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,24 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecificationType < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+ attribute :spec_attributes, SpecAttributes
11
+
12
+ xml do
13
+ root "SPECIFICATION-TYPE"
14
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
15
+
16
+ map_attribute "DESC", to: :desc
17
+ map_attribute "IDENTIFIER", to: :identifier
18
+ map_attribute "LAST-CHANGE", to: :last_change
19
+ map_attribute "LONG-NAME", to: :long_name
20
+ map_element "ALTERNATIVE-ID", to: :alternative_id
21
+ map_element "SPEC-ATTRIBUTES", to: :spec_attributes
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Specifications < Lutaml::Model::Serializable
5
+ attribute :specification, Specification, collection: true
6
+
7
+ xml do
8
+ root "SPECIFICATIONS"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "SPECIFICATION", to: :specification
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecifiedValues < Lutaml::Model::Serializable
5
+ attribute :enum_value, EnumValue, collection: true
6
+
7
+ xml do
8
+ root "SPECIFIED-VALUES"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "ENUM-VALUE", to: :enum_value
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Target < Lutaml::Model::Serializable
5
+ attribute :spec_object_ref, :string
6
+
7
+ xml do
8
+ root "TARGET"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "SPEC-OBJECT-REF", to: :spec_object_ref
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class TargetSpecification < Lutaml::Model::Serializable
5
+ attribute :specification_ref, :string
6
+
7
+ xml do
8
+ root "TARGET-SPECIFICATION"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "SPECIFICATION-REF", to: :specification_ref
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class TheHeader < Lutaml::Model::Serializable
5
+ attribute :req_if_header, ReqIfHeader
6
+
7
+ xml do
8
+ root "THE-HEADER"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "REQ-IF-HEADER", to: :req_if_header
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class ToolExtensions < Lutaml::Model::Serializable
5
+ attribute :req_if_tool_extension, ReqIfToolExtension, collection: true
6
+
7
+ xml do
8
+ root "TOOL-EXTENSIONS"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "REQ-IF-TOOL-EXTENSION", to: :req_if_tool_extension
12
+ end
13
+ end
14
+ end
data/lib/reqif/type.rb ADDED
@@ -0,0 +1,35 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Type < Lutaml::Model::Serializable
5
+ attribute :datatype_definition_boolean_ref, :string
6
+ attribute :specification_type_ref, :string
7
+ attribute :relation_group_type_ref, :string
8
+ attribute :datatype_definition_date_ref, :string
9
+ attribute :datatype_definition_enumeration_ref, :string
10
+ attribute :datatype_definition_integer_ref, :string
11
+ attribute :datatype_definition_real_ref, :string
12
+ attribute :datatype_definition_string_ref, :string
13
+ attribute :datatype_definition_xhtml_ref, :string
14
+ attribute :spec_object_type_ref, :string
15
+ attribute :spec_relation_type_ref, :string
16
+
17
+ xml do
18
+ root "TYPE"
19
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
20
+
21
+ # TODO: Only one of these values can be active at the same time
22
+ map_element "DATATYPE-DEFINITION-BOOLEAN-REF", to: :datatype_definition_boolean_ref
23
+ map_element "SPECIFICATION-TYPE-REF", to: :specification_type_ref
24
+ map_element "RELATION-GROUP-TYPE-REF", to: :relation_group_type_ref
25
+ map_element "DATATYPE-DEFINITION-DATE-REF", to: :datatype_definition_date_ref
26
+ map_element "DATATYPE-DEFINITION-ENUMERATION-REF", to: :datatype_definition_enumeration_ref
27
+ map_element "DATATYPE-DEFINITION-INTEGER-REF", to: :datatype_definition_integer_ref
28
+ map_element "DATATYPE-DEFINITION-REAL-REF", to: :datatype_definition_real_ref
29
+ map_element "DATATYPE-DEFINITION-STRING-REF", to: :datatype_definition_string_ref
30
+ map_element "DATATYPE-DEFINITION-XHTML-REF", to: :datatype_definition_xhtml_ref
31
+ map_element "SPEC-OBJECT-TYPE-REF", to: :spec_object_type_ref
32
+ map_element "SPEC-RELATION-TYPE-REF", to: :spec_relation_type_ref
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,30 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Values < Lutaml::Model::Serializable
5
+ attribute :attribute_value_boolean, AttributeValueBoolean, collection: true
6
+ attribute :attribute_value_date, AttributeValueDate, collection: true
7
+ attribute :attribute_value_enumeration, AttributeValueEnumeration, collection: true
8
+ attribute :attribute_value_integer, AttributeValueInteger, collection: true
9
+ attribute :attribute_value_real, AttributeValueReal, collection: true
10
+ attribute :attribute_value_string, AttributeValueString, collection: true
11
+ attribute :attribute_value_xhtml, AttributeValueXhtml, collection: true
12
+ attribute :enum_value_ref, :string, collection: true
13
+
14
+ # TODO: if ENUM-VALUE-REF is present, all others cannot be present.
15
+ xml do
16
+ root "VALUES"
17
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
18
+
19
+ map_element "ATTRIBUTE-VALUE-BOOLEAN", to: :attribute_value_boolean
20
+ map_element "ATTRIBUTE-VALUE-DATE", to: :attribute_value_date
21
+ map_element "ATTRIBUTE-VALUE-ENUMERATION", to: :attribute_value_enumeration
22
+ map_element "ATTRIBUTE-VALUE-INTEGER", to: :attribute_value_integer
23
+ map_element "ATTRIBUTE-VALUE-REAL", to: :attribute_value_real
24
+ map_element "ATTRIBUTE-VALUE-STRING", to: :attribute_value_string
25
+ map_element "ATTRIBUTE-VALUE-XHTML", to: :attribute_value_xhtml
26
+
27
+ map_element "ENUM-VALUE-REF", to: :enum_value_ref
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Reqif
4
+ VERSION = "0.1.0"
5
+ end
@@ -0,0 +1,10 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class XhtmlContent < Lutaml::Model::Serializable
5
+ xml do
6
+ root "XHTML-CONTENT"
7
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
8
+ end
9
+ end
10
+ end
data/lib/reqif.rb ADDED
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "lutaml/model"
4
+
5
+ Lutaml::Model::Config.configure do |config|
6
+ require "lutaml/model/xml_adapter/nokogiri_adapter"
7
+ config.xml_adapter = Lutaml::Model::XmlAdapter::NokogiriAdapter
8
+ end
9
+
10
+ module Reqif
11
+ class Error < StandardError; end
12
+
13
+ # Your code goes here...
14
+ end
15
+
16
+ require "zeitwerk"
17
+
18
+ loader = Zeitwerk::Loader.for_gem
19
+ loader.push_dir(__dir__) #, namespace: Reqif)
20
+ loader.ignore("#{__dir__}/reqif.rb")
21
+ loader.setup
22
+ loader.eager_load
@@ -0,0 +1,270 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsd:schema
3
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4
+ targetNamespace="http://www.w3.org/1999/xhtml"
5
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
6
+ xmlns="http://www.w3.org/1999/xhtml"
7
+ elementFormDefault="qualified" >
8
+
9
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd" />
10
+
11
+ <xsd:import namespace="http://www.w3.org/1999/xhtml/datatypes/"
12
+ schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-datatypes-1.xsd" />
13
+
14
+ <xsd:include schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-framework-1.xsd" />
15
+ <xsd:include schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-text-1.xsd" />
16
+ <xsd:include schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-hypertext-1.xsd" />
17
+ <xsd:include schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-list-1.xsd" />
18
+ <xsd:include schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-edit-1.xsd" />
19
+ <xsd:include schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-pres-1.xsd" />
20
+ <xsd:include schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-inlstyle-1.xsd" />
21
+ <xsd:include schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-object-1.xsd" />
22
+ <xsd:include schemaLocation="http://www.w3.org/TR/xhtml-modularization/SCHEMA/xhtml-table-1.xsd" />
23
+
24
+ <xsd:attributeGroup name="xhtml.I18n.extra.attrib"/>
25
+
26
+ <xsd:attributeGroup name="xhtml.Common.extra">
27
+ <xsd:attributeGroup ref="xhtml.style.attrib"/>
28
+ </xsd:attributeGroup>
29
+
30
+ <xsd:attributeGroup name="xhtml.Core.extra.attrib"/>
31
+
32
+ <xsd:attributeGroup name="xhtml.Global.core.extra.attrib"/>
33
+
34
+ <xsd:attributeGroup name="xhtml.Global.I18n.extra.attrib"/>
35
+
36
+ <xsd:attributeGroup name="xhtml.Global.Common.extra"/>
37
+
38
+ <xsd:group name="xhtml.HeadOpts.mix">
39
+ <xsd:choice>
40
+ <xsd:element name="object" type="xhtml.object.type" />
41
+ </xsd:choice>
42
+ </xsd:group>
43
+
44
+ <xsd:group name="xhtml.Edit.class">
45
+ <xsd:choice>
46
+ <xsd:element name="ins" type="xhtml.edit.type" />
47
+ <xsd:element name="del" type="xhtml.edit.type" />
48
+ </xsd:choice>
49
+ </xsd:group>
50
+
51
+ <xsd:group name="xhtml.Misc.extra">
52
+ <xsd:sequence />
53
+ </xsd:group>
54
+
55
+ <xsd:group name="xhtml.Misc.class">
56
+ <xsd:choice>
57
+ <xsd:group ref="xhtml.Edit.class" />
58
+ <xsd:group ref="xhtml.Misc.extra" />
59
+ </xsd:choice>
60
+ </xsd:group>
61
+
62
+ <xsd:group name="xhtml.InlStruct.class">
63
+ <xsd:choice>
64
+ <xsd:element name="br" type="xhtml.br.type" />
65
+ <xsd:element name="span" type="xhtml.span.type" />
66
+ </xsd:choice>
67
+ </xsd:group>
68
+
69
+ <xsd:group name="xhtml.InlPhras.class">
70
+ <xsd:choice>
71
+ <xsd:element name="em" type="xhtml.em.type" />
72
+ <xsd:element name="strong" type="xhtml.strong.type" />
73
+ <xsd:element name="dfn" type="xhtml.dfn.type" />
74
+ <xsd:element name="code" type="xhtml.code.type" />
75
+ <xsd:element name="samp" type="xhtml.samp.type" />
76
+ <xsd:element name="kbd" type="xhtml.kbd.type" />
77
+ <xsd:element name="var" type="xhtml.var.type" />
78
+ <xsd:element name="cite" type="xhtml.cite.type" />
79
+ <xsd:element name="abbr" type="xhtml.abbr.type" />
80
+ <xsd:element name="acronym" type="xhtml.acronym.type" />
81
+ <xsd:element name="q" type="xhtml.q.type" />
82
+ </xsd:choice>
83
+ </xsd:group>
84
+
85
+ <xsd:group name="xhtml.InlPres.class">
86
+ <xsd:choice>
87
+ <xsd:element name="tt" type="xhtml.InlPres.type" />
88
+ <xsd:element name="i" type="xhtml.InlPres.type" />
89
+ <xsd:element name="b" type="xhtml.InlPres.type" />
90
+ <xsd:element name="big" type="xhtml.InlPres.type" />
91
+ <xsd:element name="small" type="xhtml.InlPres.type" />
92
+ <xsd:element name="sub" type="xhtml.InlPres.type" />
93
+ <xsd:element name="sup" type="xhtml.InlPres.type" />
94
+ </xsd:choice>
95
+ </xsd:group>
96
+
97
+ <xsd:group name="xhtml.Anchor.class">
98
+ <xsd:sequence>
99
+ <xsd:element name="a" type="xhtml.a.type" />
100
+ </xsd:sequence>
101
+ </xsd:group>
102
+
103
+ <xsd:group name="xhtml.InlSpecial.class">
104
+ <xsd:choice>
105
+ <xsd:element name="object" type="xhtml.object.type" />
106
+ </xsd:choice>
107
+ </xsd:group>
108
+
109
+ <xsd:group name="xhtml.Inline.extra">
110
+ <xsd:sequence />
111
+ </xsd:group>
112
+
113
+ <xsd:group name="xhtml.Inline.class">
114
+ <xsd:choice>
115
+ <xsd:group ref="xhtml.InlStruct.class" />
116
+ <xsd:group ref="xhtml.InlPhras.class" />
117
+ <xsd:group ref="xhtml.InlPres.class" />
118
+ <xsd:group ref="xhtml.Anchor.class" />
119
+ <xsd:group ref="xhtml.InlSpecial.class" />
120
+ <xsd:group ref="xhtml.Inline.extra" />
121
+ </xsd:choice>
122
+ </xsd:group>
123
+
124
+ <xsd:group name="xhtml.InlNoRuby.class">
125
+ <xsd:choice>
126
+ <xsd:group ref="xhtml.InlStruct.class" />
127
+ <xsd:group ref="xhtml.InlPhras.class" />
128
+ <xsd:group ref="xhtml.InlPres.class" />
129
+ <xsd:group ref="xhtml.Anchor.class" />
130
+ <xsd:group ref="xhtml.InlSpecial.class" />
131
+ <xsd:group ref="xhtml.Inline.extra" />
132
+ </xsd:choice>
133
+ </xsd:group>
134
+
135
+ <xsd:group name="xhtml.InlinePre.mix">
136
+ <xsd:choice>
137
+ <xsd:group ref="xhtml.InlStruct.class" />
138
+ <xsd:group ref="xhtml.InlPhras.class" />
139
+ <xsd:element name="tt" type="xhtml.InlPres.type" />
140
+ <xsd:element name="i" type="xhtml.InlPres.type" />
141
+ <xsd:element name="b" type="xhtml.InlPres.type" />
142
+ <xsd:group ref="xhtml.Anchor.class" />
143
+ <xsd:group ref="xhtml.Misc.class" />
144
+ <xsd:group ref="xhtml.Inline.extra" />
145
+ </xsd:choice>
146
+ </xsd:group>
147
+
148
+ <xsd:group name="xhtml.InlNoAnchor.class">
149
+ <xsd:choice>
150
+ <xsd:group ref="xhtml.InlStruct.class" />
151
+ <xsd:group ref="xhtml.InlPhras.class" />
152
+ <xsd:group ref="xhtml.InlPres.class" />
153
+ <xsd:group ref="xhtml.InlSpecial.class" />
154
+ <xsd:group ref="xhtml.Inline.extra" />
155
+ </xsd:choice>
156
+ </xsd:group>
157
+
158
+ <xsd:group name="xhtml.InlNoAnchor.mix">
159
+ <xsd:choice>
160
+ <xsd:group ref="xhtml.InlNoAnchor.class" />
161
+ <xsd:group ref="xhtml.Misc.class" />
162
+ </xsd:choice>
163
+ </xsd:group>
164
+
165
+ <xsd:group name="xhtml.Inline.mix">
166
+ <xsd:choice>
167
+ <xsd:group ref="xhtml.Inline.class" />
168
+ <xsd:group ref="xhtml.Misc.class" />
169
+ </xsd:choice>
170
+ </xsd:group>
171
+
172
+ <xsd:group name="xhtml.Heading.class">
173
+ <xsd:choice>
174
+ <xsd:element name="h1" type="xhtml.h1.type" />
175
+ <xsd:element name="h2" type="xhtml.h2.type" />
176
+ <xsd:element name="h3" type="xhtml.h3.type" />
177
+ <xsd:element name="h4" type="xhtml.h4.type" />
178
+ <xsd:element name="h5" type="xhtml.h5.type" />
179
+ <xsd:element name="h6" type="xhtml.h6.type" />
180
+ </xsd:choice>
181
+ </xsd:group>
182
+
183
+ <xsd:group name="xhtml.List.class">
184
+ <xsd:choice>
185
+ <xsd:element name="ul" type="xhtml.ul.type" />
186
+ <xsd:element name="ol" type="xhtml.ol.type" />
187
+ <xsd:element name="dl" type="xhtml.dl.type" />
188
+ </xsd:choice>
189
+ </xsd:group>
190
+
191
+ <xsd:group name="xhtml.Table.class">
192
+ <xsd:choice>
193
+ <xsd:element name="table" type="xhtml.table.type" />
194
+ </xsd:choice>
195
+ </xsd:group>
196
+
197
+ <xsd:group name="xhtml.BlkStruct.class">
198
+ <xsd:choice>
199
+ <xsd:element name="p" type="xhtml.p.type" />
200
+ <xsd:element name="div" type="xhtml.div.type" />
201
+ </xsd:choice>
202
+ </xsd:group>
203
+
204
+ <xsd:group name="xhtml.BlkPhras.class">
205
+ <xsd:choice>
206
+ <xsd:element name="pre" type="xhtml.pre.type" />
207
+ <xsd:element name="blockquote" type="xhtml.blockquote.type" />
208
+ <xsd:element name="address" type="xhtml.address.type" />
209
+ </xsd:choice>
210
+ </xsd:group>
211
+
212
+ <xsd:group name="xhtml.BlkPres.class">
213
+ <xsd:sequence>
214
+ <xsd:element name="hr" type="xhtml.hr.type" />
215
+ </xsd:sequence>
216
+ </xsd:group>
217
+
218
+ <xsd:group name="xhtml.BlkSpecial.class">
219
+ <xsd:choice>
220
+ <xsd:group ref="xhtml.Table.class" />
221
+ </xsd:choice>
222
+ </xsd:group>
223
+
224
+ <xsd:group name="xhtml.Block.extra">
225
+ <xsd:sequence />
226
+ </xsd:group>
227
+
228
+ <xsd:group name="xhtml.Block.class">
229
+ <xsd:choice>
230
+ <xsd:group ref="xhtml.BlkStruct.class" />
231
+ <xsd:group ref="xhtml.BlkPhras.class" />
232
+ <xsd:group ref="xhtml.BlkPres.class" />
233
+ <xsd:group ref="xhtml.BlkSpecial.class" />
234
+ <xsd:group ref="xhtml.Block.extra" />
235
+ </xsd:choice>
236
+ </xsd:group>
237
+
238
+ <xsd:group name="xhtml.Block.mix">
239
+ <xsd:choice>
240
+ <xsd:group ref="xhtml.Heading.class" />
241
+ <xsd:group ref="xhtml.List.class" />
242
+ <xsd:group ref="xhtml.Block.class" />
243
+ <xsd:group ref="xhtml.Misc.class" />
244
+ </xsd:choice>
245
+ </xsd:group>
246
+
247
+ <xsd:group name="xhtml.Flow.mix">
248
+ <xsd:choice>
249
+ <xsd:group ref="xhtml.Heading.class" />
250
+ <xsd:group ref="xhtml.List.class" />
251
+ <xsd:group ref="xhtml.Block.class" />
252
+ <xsd:group ref="xhtml.Inline.class" />
253
+ <xsd:group ref="xhtml.Misc.class" />
254
+ </xsd:choice>
255
+ </xsd:group>
256
+
257
+ <xsd:group name="xhtml.BlkNoForm.mix">
258
+ <xsd:choice>
259
+ <xsd:group ref="xhtml.Heading.class" />
260
+ <xsd:group ref="xhtml.List.class" />
261
+ <xsd:group ref="xhtml.BlkStruct.class" />
262
+ <xsd:group ref="xhtml.BlkPhras.class" />
263
+ <xsd:group ref="xhtml.BlkPres.class" />
264
+ <xsd:group ref="xhtml.Table.class" />
265
+ <xsd:group ref="xhtml.Block.extra" />
266
+ <xsd:group ref="xhtml.Misc.class" />
267
+ </xsd:choice>
268
+ </xsd:group>
269
+
270
+ </xsd:schema>