metanorma-ribose 1.6.16 → 1.7.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15cc3c5ccba05fef79b07e6ccb7e83c61660ab0427c06e7a822d4cbca06a03bf
4
- data.tar.gz: 30dcf9307e57ded58f56732c46928a1765e2178d21c2ecb61cd5d1bc9953e106
3
+ metadata.gz: 66e4c7b5455993a823218c7d987698ab20f63c1b2568a67773a9457f32de1810
4
+ data.tar.gz: 7eec556a3a4b21e4f5da74d97007dc6de78b678fecd5af07b844fe828b5e6d0a
5
5
  SHA512:
6
- metadata.gz: 48502a8f19547c1bf522e1a5d2700ef65cbecb383a2066cd4e54048f4943d975a078170675c02e6e793ad30a2c442837f2130d81ffd0e654ba736da90a39337d
7
- data.tar.gz: cbe70e64b6aeceab8dac66dcb0c5f01678406abe61e92ac5aee38a950996bd86f2f6dd183764e7ca036d66ee47cae4d7c5873391854b551391f98c10a13ed389
6
+ metadata.gz: 71326d6b58d81dd6dbd765db1670d47d098c532fd1f2b5cf07ca9fc739aa56fc2f438cafc53e4908222657849d87640e71c77db4441a3cc01aab98c5517e429f
7
+ data.tar.gz: 1496500522ee692ac096e143262e3027a28b6995c04eaefe49e9688e97aa0d28c64e25d08cd4ac76a278c6f4ff8652f7d7225c00d5b5fdbd9ed1b18cbf046e11
@@ -4,7 +4,7 @@ name: rake
4
4
 
5
5
  on:
6
6
  push:
7
- branches: [ master, main ]
7
+ branches: [ master, main ]
8
8
  tags: [ v* ]
9
9
  pull_request:
10
10
 
@@ -16,19 +16,9 @@ jobs:
16
16
  strategy:
17
17
  fail-fast: false
18
18
  matrix:
19
- ruby: [ '2.7', '2.6', '2.5', '2.4' ]
19
+ ruby: [ '3.0', '2.7', '2.6', '2.5', '2.4' ]
20
20
  os: [ ubuntu-latest, windows-latest, macos-latest ]
21
21
  experimental: [ false ]
22
- include:
23
- - ruby: '3.0'
24
- os: 'ubuntu-latest'
25
- experimental: true
26
- - ruby: '3.0'
27
- os: 'windows-latest'
28
- experimental: true
29
- - ruby: '3.0'
30
- os: 'macos-latest'
31
- experimental: true
32
22
  steps:
33
23
  - uses: actions/checkout@master
34
24
 
@@ -49,5 +39,5 @@ jobs:
49
39
  with:
50
40
  token: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
51
41
  repository: ${{ github.repository }}
52
- event-type: notify
42
+ event-type: tests-passed
53
43
  client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
data/.hound.yml CHANGED
@@ -1,3 +1,5 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
1
3
  ruby:
2
- Enabled: true
4
+ enabled: true
3
5
  config_file: .rubocop.yml
data/.rubocop.yml CHANGED
@@ -1,14 +1,10 @@
1
- # This project follows the Ribose OSS style guide.
2
- # https://github.com/riboseinc/oss-guides
3
- # All project-specific additions and overrides should be specified in this file.
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
4
3
  inherit_from:
5
4
  - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
6
5
 
7
6
  # local repo-specific modifications
7
+ # ...
8
8
 
9
9
  AllCops:
10
- DisplayCopNames: false
11
- StyleGuideCopsOnly: false
12
10
  TargetRubyVersion: 2.4
13
- Rails:
14
- Enabled: true
data/Gemfile CHANGED
@@ -6,6 +6,6 @@ git_source(:github) { |repo| "https://github.com/#{repo}" }
6
6
 
7
7
  gemspec
8
8
 
9
- if File.exist? 'Gemfile.devel'
10
- eval File.read('Gemfile.devel'), nil, 'Gemfile.devel' # rubocop:disable Security/Eval
9
+ if File.exist? "Gemfile.devel"
10
+ eval File.read("Gemfile.devel"), nil, "Gemfile.devel" # rubocop:disable Security/Eval
11
11
  end
data/README.adoc CHANGED
@@ -1,10 +1,10 @@
1
- = metanorma-ribose: Asciidoctor processor for Ribose Standard Documents
1
+ = Metanorma processor for Ribose documents
2
2
 
3
- image:https://img.shields.io/gem/v/metanorma-rsd.svg["Gem Version", link="https://rubygems.org/gems/metanorma-rsd"]
4
- image:https://github.com/metanorma/metanorma-rsd/workflows/rake/badge.svg["Build Status", link="https://github.com/metanorma/metanorma-rsd/actions?workflow=rake"]
5
- image:https://codeclimate.com/github/metanorma/metanorma-rsd/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-rsd"]
6
- image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-rsd.svg["Pull Requests", link="https://github.com/metanorma/metanorma-rsd/pulls"]
7
- image:https://img.shields.io/github/commits-since/metanorma/metanorma-rsd/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-rsd/releases"]
3
+ image:https://img.shields.io/gem/v/metanorma-ribose.svg["Gem Version", link="https://rubygems.org/gems/metanorma-ribose"]
4
+ image:https://github.com/metanorma/metanorma-ribose/workflows/rake/badge.svg["Build Status", link="https://github.com/metanorma/metanorma-ribose/actions?workflow=rake"]
5
+ image:https://codeclimate.com/github/metanorma/metanorma-ribose/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-ribose"]
6
+ image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-ribose.svg["Pull Requests", link="https://github.com/metanorma/metanorma-ribose/pulls"]
7
+ image:https://img.shields.io/github/commits-since/metanorma/metanorma-ribose/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-ribose/releases"]
8
8
 
9
9
  == Functionality
10
10
 
@@ -27,7 +27,7 @@ $ metanorma --type ribose --extensions xml a.adoc # output Metanorma XML
27
27
  ----
28
28
 
29
29
  The gem translates the document into Metanorma XML format, and then
30
- validates its output against the Ribopse Metanorma XML document model; errors are
30
+ validates its output against the Ribose Metanorma XML document model; errors are
31
31
  reported to console against the XML, and are intended for users to
32
32
  check that they have provided all necessary components of the
33
33
  document.
@@ -36,16 +36,8 @@ The gem then converts the XML into output formats such as HTML and PDF.
36
36
 
37
37
  === Installation
38
38
 
39
- If you are using a Mac, the https://github.com/metanorma/metanorma-macos-setup
40
- repository has instructions on setting up your machine to run Metanorma
41
- scripts such as this one. You need only run the following in a Terminal console:
39
+ See https://www.metanorma.com for installation documentation.
42
40
 
43
- [source,console]
44
- ----
45
- $ bash <(curl -s https://raw.githubusercontent.com/metanorma/metanorma-macos-setup/master/metanorma-setup)
46
- $ gem install metanorma-rsd
47
- $ gem install metanorma-cli
48
- ----
49
41
 
50
42
  == Documentation
51
43
 
@@ -57,7 +49,7 @@ See https://www.metanorma.com/author/ribose/[The Ribose flavor of Metanorma]
57
49
  The Ribose Standard Document format is an instance of the
58
50
  https://github.com/metanorma/metanorma-model-standoc[StandardDocument model]. Details of
59
51
  this general model can be found on its page. Details of the Ribose modifications
60
- to this general model can be found on the https://github.com/metanorma/metanorma-model-rsd[RSD model]
52
+ to this general model can be found on the https://github.com/metanorma/metanorma-model-ribose[Metanorma-Ribose model]
61
53
  repository.
62
54
 
63
55
  == Examples
@@ -67,4 +59,4 @@ repository.
67
59
 
68
60
  == Notes
69
61
 
70
- Metanorma-Ribose was formerly published as `asciidoctor-rsd`, `metanorma-rsd`.
62
+ Metanorma-Ribose was formerly published as `metanorma-rsd`.
data/Rakefile CHANGED
@@ -1,8 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
- require 'isodoc/gem_tasks'
3
+ require "isodoc/gem_tasks"
4
4
 
5
5
  IsoDoc::GemTasks.install
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
8
- task :default => :spec
8
+ task default: :spec
data/bin/rspec CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
-
2
+
3
3
  # This file was generated by Bundler.
4
4
  #
5
5
  # The application 'rspec' is installed as part of a gem, and
@@ -15,4 +15,3 @@ require "rubygems"
15
15
  require "bundler/setup"
16
16
 
17
17
  load Gem.bin_path("rspec-core", "rspec")
18
-
@@ -787,6 +787,7 @@
787
787
  <value>adapted</value>
788
788
  <value>vote-started</value>
789
789
  <value>vote-ended</value>
790
+ <value>announced</value>
790
791
  </choice>
791
792
  </define>
792
793
  <define name="bdate">
@@ -1,7 +1,7 @@
1
1
  <boilerplate>
2
2
  <copyright-statement>
3
3
  <clause>
4
- <p> © Ribose Group Inc. {{ docyear }}</p>
4
+ <p> © {{ publisher }} {{ docyear }}</p>
5
5
  </clause>
6
6
  </copyright-statement>
7
7
  {% if unpublished %}
@@ -31,15 +31,15 @@
31
31
  <feedback-statement>
32
32
  <clause>
33
33
  <p align="left" id="boilerplate-name">
34
- Ribose Group Inc.
34
+ {% if publisher %}{{ publisher }}{% else %}Ribose Group Inc.{% endif %}
35
35
  </p>
36
- <p align="left" id="boilerplate-address">Suite 1, 8/F, New Henry House<br/>
36
+ <p align="left" id="boilerplate-address">{% if pub_address %}{{ pub_address }}{% else %}Suite 1, 8/F, New Henry House<br/>
37
37
  10 Ice House Street<br/>
38
38
  Central<br/>
39
- Hong Kong<br/>
39
+ Hong Kong{% endif %}<br/>
40
40
  <br />
41
- <link target="mailto:copyright@ribose.com">copyright@ribose.com</link><br />
42
- <link target="https://www.ribose.com">www.ribose.com</link>
41
+ {% if pub_email %}<link target="mailto:{{ pub_email }}">{{ pub_email }}</link>{% else %}<link target="mailto:copyright@ribose.com">copyright@ribose.com</link>{% endif %}<br />
42
+ {% if pub_uri %}<link target="{{ pub_uri }}">{{ pub_uri }}</link>{% else %}<link target="https://www.ribose.com">www.ribose.com</link>{% endif %}
43
43
  </p>
44
44
  </clause>
45
45
  </feedback-statement>
@@ -1,5 +1,5 @@
1
1
  require "asciidoctor/standoc/converter"
2
- require 'asciidoctor/generic/converter'
2
+ require "asciidoctor/generic/converter"
3
3
 
4
4
  module Asciidoctor
5
5
  module Ribose
@@ -7,33 +7,34 @@ module Asciidoctor
7
7
  # schema encapsulation of the document for validation
8
8
  #
9
9
  class Converter < Asciidoctor::Generic::Converter
10
- XML_ROOT_TAG = 'rsd-standard'.freeze
11
- XML_NAMESPACE = 'https://www.metanorma.org/ns/rsd'.freeze
10
+ XML_ROOT_TAG = "rsd-standard".freeze
11
+ XML_NAMESPACE = "https://www.metanorma.org/ns/rsd".freeze
12
12
 
13
13
  register_for "ribose"
14
14
 
15
15
  def sectiontype(node, level = true)
16
16
  ret = sectiontype1(node)
17
17
  ret1 = sectiontype_streamline(ret)
18
- return ret1 if "symbols and abbreviated terms" == ret1
19
- return ret1 if "executive summary" == ret1
18
+ return ret1 if ret1 == "symbols and abbreviated terms"
19
+ return ret1 if ret1 == "executive summary"
20
20
  return nil unless !level || node.level == 1
21
21
  return nil if @seen_headers.include? ret
22
+
22
23
  @seen_headers << ret
23
24
  ret1
24
25
  end
25
26
 
26
- def make_preface(x, s)
27
- if x.at("//foreword | //introduction | //acknowledgements | "\
27
+ def make_preface(xml, sect)
28
+ if xml.at("//foreword | //introduction | //acknowledgements | "\
28
29
  "//clause[@preface] | //executivesummary")
29
- preface = s.add_previous_sibling("<preface/>").first
30
- f = x.at("//foreword") and preface.add_child f.remove
31
- f = x.at("//executivesummary") and preface.add_child f.remove
32
- f = x.at("//introduction") and preface.add_child f.remove
33
- move_clauses_into_preface(x, preface)
34
- f = x.at("//acknowledgements") and preface.add_child f.remove
30
+ preface = sect.add_previous_sibling("<preface/>").first
31
+ f = xml.at("//foreword") and preface.add_child f.remove
32
+ f = xml.at("//executivesummary") and preface.add_child f.remove
33
+ f = xml.at("//introduction") and preface.add_child f.remove
34
+ move_clauses_into_preface(xml, preface)
35
+ f = xml.at("//acknowledgements") and preface.add_child f.remove
35
36
  end
36
- make_abstract(x, s)
37
+ make_abstract(xml, sect)
37
38
  end
38
39
 
39
40
  def clause_parse(attrs, xml, node)
@@ -55,7 +56,8 @@ module Asciidoctor
55
56
  end
56
57
 
57
58
  def presentation_xml_converter(node)
58
- IsoDoc::Ribose::PresentationXMLConvert.new(html_extract_attributes(node))
59
+ IsoDoc::Ribose::PresentationXMLConvert
60
+ .new(html_extract_attributes(node))
59
61
  end
60
62
 
61
63
  def html_converter(node)
@@ -64,6 +66,7 @@ module Asciidoctor
64
66
 
65
67
  def pdf_converter(node)
66
68
  return nil if node.attr("no-pdf")
69
+
67
70
  IsoDoc::Ribose::PdfConvert.new(html_extract_attributes(node))
68
71
  end
69
72
 
@@ -45,6 +45,11 @@
45
45
  <optional>
46
46
  <attribute name="alt"/>
47
47
  </optional>
48
+ <optional>
49
+ <attribute name="updatetype">
50
+ <data type="boolean"/>
51
+ </attribute>
52
+ </optional>
48
53
  <text/>
49
54
  </element>
50
55
  </define>
@@ -86,6 +91,35 @@
86
91
  <text/>
87
92
  </element>
88
93
  </define>
94
+ <define name="erefType">
95
+ <optional>
96
+ <attribute name="normative">
97
+ <data type="boolean"/>
98
+ </attribute>
99
+ </optional>
100
+ <attribute name="citeas"/>
101
+ <attribute name="type">
102
+ <ref name="ReferenceFormat"/>
103
+ </attribute>
104
+ <optional>
105
+ <attribute name="alt"/>
106
+ </optional>
107
+ <optional>
108
+ <attribute name="case">
109
+ <choice>
110
+ <value>capital</value>
111
+ <value>lowercase</value>
112
+ </choice>
113
+ </attribute>
114
+ </optional>
115
+ <optional>
116
+ <attribute name="droploc">
117
+ <data type="boolean"/>
118
+ </attribute>
119
+ </optional>
120
+ <ref name="CitationType"/>
121
+ <text/>
122
+ </define>
89
123
  <define name="ul">
90
124
  <element name="ul">
91
125
  <attribute name="id">
@@ -514,6 +548,9 @@
514
548
  </define>
515
549
  <define name="BibDataExtensionType">
516
550
  <ref name="doctype"/>
551
+ <optional>
552
+ <ref name="docsubtype"/>
553
+ </optional>
517
554
  <optional>
518
555
  <ref name="editorialgroup"/>
519
556
  </optional>
@@ -775,8 +812,100 @@
775
812
  <ref name="paragraph"/>
776
813
  </element>
777
814
  </define>
815
+ <define name="em">
816
+ <element name="em">
817
+ <zeroOrMore>
818
+ <choice>
819
+ <ref name="PureTextElement"/>
820
+ <ref name="stem"/>
821
+ <ref name="index"/>
822
+ </choice>
823
+ </zeroOrMore>
824
+ </element>
825
+ </define>
826
+ <define name="strong">
827
+ <element name="strong">
828
+ <zeroOrMore>
829
+ <choice>
830
+ <ref name="PureTextElement"/>
831
+ <ref name="stem"/>
832
+ <ref name="index"/>
833
+ </choice>
834
+ </zeroOrMore>
835
+ </element>
836
+ </define>
837
+ <define name="tt">
838
+ <element name="tt">
839
+ <zeroOrMore>
840
+ <choice>
841
+ <ref name="PureTextElement"/>
842
+ <ref name="index"/>
843
+ </choice>
844
+ </zeroOrMore>
845
+ </element>
846
+ </define>
847
+ <define name="keyword">
848
+ <element name="keyword">
849
+ <zeroOrMore>
850
+ <choice>
851
+ <ref name="PureTextElement"/>
852
+ <ref name="index"/>
853
+ </choice>
854
+ </zeroOrMore>
855
+ </element>
856
+ </define>
857
+ <define name="strike">
858
+ <element name="strike">
859
+ <zeroOrMore>
860
+ <choice>
861
+ <ref name="PureTextElement"/>
862
+ <ref name="index"/>
863
+ </choice>
864
+ </zeroOrMore>
865
+ </element>
866
+ </define>
867
+ <define name="underline">
868
+ <element name="underline">
869
+ <zeroOrMore>
870
+ <choice>
871
+ <ref name="PureTextElement"/>
872
+ <ref name="index"/>
873
+ </choice>
874
+ </zeroOrMore>
875
+ </element>
876
+ </define>
877
+ <define name="smallcap">
878
+ <element name="smallcap">
879
+ <zeroOrMore>
880
+ <choice>
881
+ <ref name="PureTextElement"/>
882
+ <ref name="index"/>
883
+ </choice>
884
+ </zeroOrMore>
885
+ </element>
886
+ </define>
887
+ <define name="pagebreak">
888
+ <element name="pagebreak">
889
+ <optional>
890
+ <attribute name="orientation">
891
+ <choice>
892
+ <value>landscape</value>
893
+ <value>portrait</value>
894
+ </choice>
895
+ </attribute>
896
+ </optional>
897
+ </element>
898
+ </define>
778
899
  </include>
779
900
  <!-- end overrides -->
901
+ <define name="docsubtype">
902
+ <element name="docsubtype">
903
+ <ref name="DocumentSubtype"/>
904
+ </element>
905
+ </define>
906
+ <define name="DocumentSubtype">
907
+ <text/>
908
+ </define>
780
909
  <define name="colgroup">
781
910
  <element name="colgroup">
782
911
  <oneOrMore>
@@ -793,7 +922,35 @@
793
922
  <value>internal</value>
794
923
  </define>
795
924
  <define name="TextElement" combine="choice">
796
- <ref name="concept"/>
925
+ <choice>
926
+ <ref name="concept"/>
927
+ <ref name="add"/>
928
+ <ref name="del"/>
929
+ </choice>
930
+ </define>
931
+ <define name="add">
932
+ <element name="add">
933
+ <choice>
934
+ <ref name="PureTextElement"/>
935
+ <ref name="eref"/>
936
+ <ref name="stem"/>
937
+ <ref name="keyword"/>
938
+ <ref name="xref"/>
939
+ <ref name="hyperlink"/>
940
+ </choice>
941
+ </element>
942
+ </define>
943
+ <define name="del">
944
+ <element name="del">
945
+ <choice>
946
+ <ref name="PureTextElement"/>
947
+ <ref name="eref"/>
948
+ <ref name="stem"/>
949
+ <ref name="keyword"/>
950
+ <ref name="xref"/>
951
+ <ref name="hyperlink"/>
952
+ </choice>
953
+ </element>
797
954
  </define>
798
955
  <define name="concept">
799
956
  <element name="concept">
@@ -814,8 +971,170 @@
814
971
  <ref name="permission"/>
815
972
  <ref name="imagemap"/>
816
973
  <ref name="svgmap"/>
974
+ <ref name="inputform"/>
975
+ </choice>
976
+ </define>
977
+ <define name="inputform">
978
+ <element name="form">
979
+ <attribute name="id">
980
+ <data type="ID"/>
981
+ </attribute>
982
+ <attribute name="name"/>
983
+ <attribute name="action"/>
984
+ <zeroOrMore>
985
+ <choice>
986
+ <ref name="TextElement"/>
987
+ <ref name="FormInput"/>
988
+ </choice>
989
+ </zeroOrMore>
990
+ </element>
991
+ </define>
992
+ <define name="FormInput">
993
+ <choice>
994
+ <ref name="input"/>
995
+ <ref name="formlabel"/>
996
+ <ref name="select"/>
997
+ <ref name="textarea"/>
998
+ </choice>
999
+ </define>
1000
+ <define name="InputType">
1001
+ <choice>
1002
+ <value>button</value>
1003
+ <value>checkbox</value>
1004
+ <value>date</value>
1005
+ <value>file</value>
1006
+ <value>password</value>
1007
+ <value>radio</value>
1008
+ <value>submit</value>
1009
+ <value>text</value>
817
1010
  </choice>
818
1011
  </define>
1012
+ <define name="input">
1013
+ <element name="input">
1014
+ <attribute name="type">
1015
+ <ref name="InputType"/>
1016
+ </attribute>
1017
+ <optional>
1018
+ <attribute name="checked">
1019
+ <data type="boolean"/>
1020
+ </attribute>
1021
+ </optional>
1022
+ <optional>
1023
+ <attribute name="disabled">
1024
+ <data type="boolean"/>
1025
+ </attribute>
1026
+ </optional>
1027
+ <optional>
1028
+ <attribute name="readonly">
1029
+ <data type="boolean"/>
1030
+ </attribute>
1031
+ </optional>
1032
+ <optional>
1033
+ <attribute name="maxlength">
1034
+ <data type="int"/>
1035
+ </attribute>
1036
+ </optional>
1037
+ <optional>
1038
+ <attribute name="minlength">
1039
+ <data type="int"/>
1040
+ </attribute>
1041
+ </optional>
1042
+ <optional>
1043
+ <attribute name="name"/>
1044
+ </optional>
1045
+ <optional>
1046
+ <attribute name="value"/>
1047
+ </optional>
1048
+ <optional>
1049
+ <attribute name="id">
1050
+ <data type="ID"/>
1051
+ </attribute>
1052
+ </optional>
1053
+ </element>
1054
+ </define>
1055
+ <define name="formlabel">
1056
+ <element name="label">
1057
+ <attribute name="for">
1058
+ <data type="IDREF"/>
1059
+ </attribute>
1060
+ <zeroOrMore>
1061
+ <ref name="PureTextElement"/>
1062
+ </zeroOrMore>
1063
+ </element>
1064
+ </define>
1065
+ <define name="select">
1066
+ <element name="select">
1067
+ <optional>
1068
+ <attribute name="name"/>
1069
+ </optional>
1070
+ <optional>
1071
+ <attribute name="value"/>
1072
+ </optional>
1073
+ <optional>
1074
+ <attribute name="id">
1075
+ <data type="ID"/>
1076
+ </attribute>
1077
+ </optional>
1078
+ <optional>
1079
+ <attribute name="disabled">
1080
+ <data type="boolean"/>
1081
+ </attribute>
1082
+ </optional>
1083
+ <optional>
1084
+ <attribute name="multiple">
1085
+ <data type="boolean"/>
1086
+ </attribute>
1087
+ </optional>
1088
+ <optional>
1089
+ <attribute name="size">
1090
+ <data type="int"/>
1091
+ </attribute>
1092
+ </optional>
1093
+ <oneOrMore>
1094
+ <ref name="option"/>
1095
+ </oneOrMore>
1096
+ </element>
1097
+ </define>
1098
+ <define name="option">
1099
+ <element name="option">
1100
+ <optional>
1101
+ <attribute name="disabled">
1102
+ <data type="boolean"/>
1103
+ </attribute>
1104
+ </optional>
1105
+ <optional>
1106
+ <attribute name="value"/>
1107
+ </optional>
1108
+ <zeroOrMore>
1109
+ <ref name="PureTextElement"/>
1110
+ </zeroOrMore>
1111
+ </element>
1112
+ </define>
1113
+ <define name="textarea">
1114
+ <element name="textarea">
1115
+ <optional>
1116
+ <attribute name="name"/>
1117
+ </optional>
1118
+ <optional>
1119
+ <attribute name="value"/>
1120
+ </optional>
1121
+ <optional>
1122
+ <attribute name="id">
1123
+ <data type="ID"/>
1124
+ </attribute>
1125
+ </optional>
1126
+ <optional>
1127
+ <attribute name="rows">
1128
+ <data type="int"/>
1129
+ </attribute>
1130
+ </optional>
1131
+ <optional>
1132
+ <attribute name="cols">
1133
+ <data type="int"/>
1134
+ </attribute>
1135
+ </optional>
1136
+ </element>
1137
+ </define>
819
1138
  <define name="bibliography">
820
1139
  <element name="bibliography">
821
1140
  <oneOrMore>
@@ -888,9 +1207,7 @@
888
1207
  </define>
889
1208
  <define name="IsoWorkgroup">
890
1209
  <optional>
891
- <attribute name="number">
892
- <data type="int"/>
893
- </attribute>
1210
+ <attribute name="number"/>
894
1211
  </optional>
895
1212
  <optional>
896
1213
  <attribute name="type"/>