reqif 0.1.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 (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>