metanorma-generic 1.4.6 → 1.5.0

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: 8bfb0a3ef7b80615614eafbea4a324fb7dcfe6b7c9b5fdc0cb55c5a364c9e123
4
- data.tar.gz: 4b331be46b0ef0e68704852215f56dedd68bcc2cebf3fe48ecac83f184b2581f
3
+ metadata.gz: 4c86f4ec6164879c4e3240c59509762dd17bec3198e6ca291fab12cc31d3a66e
4
+ data.tar.gz: 9242bc948011576c68c2dcecd7aacb9ee4f10a3839bf105fe23b327203d816ed
5
5
  SHA512:
6
- metadata.gz: ab9fca2a5fb9ca7c8fe7b6190390fba10863adf16b840903bb13f7e6d64300d53a7e00ced4e5821c8822855b19bcf57a35c30d8920a269b656e7f5ac83b82eec
7
- data.tar.gz: 15b336684795af7580d07d535394d65fcbdb3914c4eea0ebbcfd6d3818e9aeed20232f6a49953d68061bf2aab4c64e422fc14d2901b04e7b4f3a8c59ffd0cef0
6
+ metadata.gz: 575d6d49b0fae89903776a157e5774029b60ee6049e158b1f6c0410b32edb21ed6908c3a30c089195dcda864ea16636f23c38ec038120ec674956e8610184946
7
+ data.tar.gz: 455b421535ade823b2ecb128848238bf2ae386d00680daa2bc946f6d87a2bb66afd70dd595b969f37a65bd9b1282707c0f53280be3f740161d28a4704de78ffb
@@ -6,15 +6,23 @@ on:
6
6
  push:
7
7
  branches: [ master ]
8
8
  pull_request:
9
+ paths-ignore:
10
+ - .github/workflows/ubuntu.yml
11
+ - .github/workflows/windows.yml
9
12
 
10
13
  jobs:
11
14
  test-macos:
12
15
  name: Test on Ruby ${{ matrix.ruby }} macOS
13
16
  runs-on: macos-latest
17
+ continue-on-error: ${{ matrix.experimental }}
14
18
  strategy:
15
19
  fail-fast: false
16
20
  matrix:
17
21
  ruby: [ '2.6', '2.5', '2.4' ]
22
+ experimental: [false]
23
+ include:
24
+ - ruby: '2.7'
25
+ experimental: true
18
26
  steps:
19
27
  - uses: actions/checkout@master
20
28
  - name: Use Ruby
@@ -26,13 +34,6 @@ jobs:
26
34
  run: |
27
35
  sudo gem install bundler --force
28
36
  bundle install --jobs 4 --retry 3
29
- - name: Use Node
30
- uses: actions/setup-node@v1
31
- with:
32
- node-version: '8'
33
- - name: Install Puppeteer
34
- run: |
35
- npm install -g puppeteer
36
37
  - name: Run specs
37
38
  run: |
38
39
  bundle exec rake
@@ -5,16 +5,26 @@ name: ubuntu
5
5
  on:
6
6
  push:
7
7
  branches: [ master ]
8
+ tags:
9
+ - '*'
8
10
  pull_request:
11
+ paths-ignore:
12
+ - .github/workflows/macos.yml
13
+ - .github/workflows/windows.yml
9
14
 
10
15
  jobs:
11
16
  test-linux:
12
17
  name: Test on Ruby ${{ matrix.ruby }} Ubuntu
13
18
  runs-on: ubuntu-latest
19
+ continue-on-error: ${{ matrix.experimental }}
14
20
  strategy:
15
21
  fail-fast: false
16
22
  matrix:
17
23
  ruby: [ '2.6', '2.5', '2.4' ]
24
+ experimental: [false]
25
+ include:
26
+ - ruby: '2.7'
27
+ experimental: true
18
28
  steps:
19
29
  - uses: actions/checkout@master
20
30
  - name: Use Ruby
@@ -26,18 +36,11 @@ jobs:
26
36
  run: |
27
37
  gem install bundler
28
38
  bundle install --jobs 4 --retry 3
29
- - name: Use Node
30
- uses: actions/setup-node@v1
31
- with:
32
- node-version: '8'
33
- - name: Install Puppeteer
34
- run: |
35
- npm install -g puppeteer
36
39
  - name: Run specs
37
40
  run: |
38
41
  bundle exec rake
39
42
  - name: Trigger dependent repositories
40
- if: github.ref == 'refs/heads/master'
43
+ if: github.ref == 'refs/heads/master' && matrix.ruby == '2.6'
41
44
  env:
42
45
  GH_USERNAME: ${{ secrets.PAT_USERNAME }}
43
46
  GH_ACCESS_TOKEN: ${{ secrets.PAT_TOKEN }}
@@ -46,5 +49,5 @@ jobs:
46
49
  [[ -f ".github/workflows/dependent_repos.env" ]] && source .github/workflows/dependent_repos.env
47
50
  for repo in $DEPENDENT_REPOS
48
51
  do
49
- sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY
52
+ sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "{ \"ref\": \"${GITHUB_REF}\" }"
50
53
  done
@@ -6,15 +6,23 @@ on:
6
6
  push:
7
7
  branches: [ master ]
8
8
  pull_request:
9
+ paths-ignore:
10
+ - .github/workflows/macos.yml
11
+ - .github/workflows/ubuntu.yml
9
12
 
10
13
  jobs:
11
14
  test-windows:
12
15
  name: Test on Ruby ${{ matrix.ruby }} Windows
13
16
  runs-on: windows-latest
17
+ continue-on-error: ${{ matrix.experimental }}
14
18
  strategy:
15
19
  fail-fast: false
16
20
  matrix:
17
21
  ruby: [ '2.6', '2.5', '2.4' ]
22
+ experimental: [false]
23
+ include:
24
+ - ruby: '2.7'
25
+ experimental: true
18
26
  steps:
19
27
  - uses: actions/checkout@master
20
28
  - name: Use Ruby
@@ -27,15 +35,7 @@ jobs:
27
35
  run: |
28
36
  gem install bundler
29
37
  bundle config --local path vendor/bundle
30
- bundle update
31
38
  bundle install --jobs 4 --retry 3
32
- - name: Use Node
33
- uses: actions/setup-node@v1
34
- with:
35
- node-version: '8'
36
- - name: Install Puppeteer
37
- run: |
38
- npm install -g puppeteer
39
39
  - name: Run specs
40
40
  run: |
41
41
  bundle exec rake
@@ -49,11 +49,17 @@
49
49
  </define>
50
50
  <define name="stage">
51
51
  <element name="stage">
52
+ <optional>
53
+ <attribute name="abbreviation"/>
54
+ </optional>
52
55
  <text/>
53
56
  </element>
54
57
  </define>
55
58
  <define name="substage">
56
59
  <element name="substage">
60
+ <optional>
61
+ <attribute name="abbreviation"/>
62
+ </optional>
57
63
  <text/>
58
64
  </element>
59
65
  </define>
@@ -82,7 +88,7 @@
82
88
  <text/>
83
89
  </element>
84
90
  </define>
85
- <define name="LocalizedString">
91
+ <define name="LocalizedString1">
86
92
  <optional>
87
93
  <!-- multiple languages and scripts possible: comma delimit them if so -->
88
94
  <attribute name="language"/>
@@ -92,6 +98,16 @@
92
98
  </optional>
93
99
  <text/>
94
100
  </define>
101
+ <define name="LocalizedString">
102
+ <choice>
103
+ <ref name="LocalizedString1"/>
104
+ <oneOrMore>
105
+ <element name="variant">
106
+ <ref name="LocalizedString1"/>
107
+ </element>
108
+ </oneOrMore>
109
+ </choice>
110
+ </define>
95
111
  <!--
96
112
  Unlike UML, change type to format: type is overloaded
97
113
  Would be need if plain were default value and could omit the attribute
@@ -115,7 +131,7 @@
115
131
  </optional>
116
132
  <ref name="LocalizedStringOrXsAny"/>
117
133
  </define>
118
- <define name="LocalizedStringOrXsAny">
134
+ <define name="LocalizedStringOrXsAny1">
119
135
  <optional>
120
136
  <!-- multiple languages and scripts possible: comma delimit them if so -->
121
137
  <attribute name="language"/>
@@ -130,6 +146,16 @@
130
146
  </choice>
131
147
  </oneOrMore>
132
148
  </define>
149
+ <define name="LocalizedStringOrXsAny">
150
+ <choice>
151
+ <ref name="LocalizedStringOrXsAny1"/>
152
+ <oneOrMore>
153
+ <element name="variant">
154
+ <ref name="LocalizedStringOrXsAny1"/>
155
+ </element>
156
+ </oneOrMore>
157
+ </choice>
158
+ </define>
133
159
  <define name="contributor">
134
160
  <element name="contributor">
135
161
  <zeroOrMore>
@@ -452,9 +478,14 @@
452
478
  <attribute name="bibitemid">
453
479
  <data type="IDREF"/>
454
480
  </attribute>
455
- <zeroOrMore>
456
- <ref name="locality"/>
457
- </zeroOrMore>
481
+ <choice>
482
+ <zeroOrMore>
483
+ <ref name="locality"/>
484
+ </zeroOrMore>
485
+ <zeroOrMore>
486
+ <ref name="localityStack"/>
487
+ </zeroOrMore>
488
+ </choice>
458
489
  <optional>
459
490
  <ref name="date"/>
460
491
  </optional>
@@ -469,6 +500,25 @@
469
500
  <ref name="BibItemLocality"/>
470
501
  </element>
471
502
  </define>
503
+ <define name="localityStack">
504
+ <element name="localityStack">
505
+ <zeroOrMore>
506
+ <ref name="locality"/>
507
+ </zeroOrMore>
508
+ </element>
509
+ </define>
510
+ <define name="sourceLocality">
511
+ <element name="sourceLocality">
512
+ <ref name="BibItemLocality"/>
513
+ </element>
514
+ </define>
515
+ <define name="sourceLocalityStack">
516
+ <element name="sourceLocalityStack">
517
+ <zeroOrMore>
518
+ <ref name="sourceLocality"/>
519
+ </zeroOrMore>
520
+ </element>
521
+ </define>
472
522
  <define name="BibItemLocality">
473
523
  <attribute name="type">
474
524
  <ref name="LocalityType"/>
@@ -482,7 +532,7 @@
482
532
  </define>
483
533
  <define name="LocalityType">
484
534
  <data type="string">
485
- <param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|locality:[a-zA-Z0-9_]+</param>
535
+ <param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
486
536
  </data>
487
537
  </define>
488
538
  <define name="referenceFrom">
@@ -611,9 +661,9 @@
611
661
  <optional>
612
662
  <ref name="status"/>
613
663
  </optional>
614
- <optional>
664
+ <zeroOrMore>
615
665
  <ref name="copyright"/>
616
- </optional>
666
+ </zeroOrMore>
617
667
  <zeroOrMore>
618
668
  <ref name="docrelation"/>
619
669
  </zeroOrMore>
@@ -737,6 +787,8 @@
737
787
  <value>unchanged</value>
738
788
  <value>circulated</value>
739
789
  <value>adapted</value>
790
+ <value>vote-started</value>
791
+ <value>vote-ended</value>
740
792
  </choice>
741
793
  </define>
742
794
  <define name="bdate">
@@ -969,7 +1021,17 @@
969
1021
  <optional>
970
1022
  <ref name="to"/>
971
1023
  </optional>
972
- <ref name="owner"/>
1024
+ <oneOrMore>
1025
+ <ref name="owner"/>
1026
+ </oneOrMore>
1027
+ <optional>
1028
+ <ref name="copyright_scope"/>
1029
+ </optional>
1030
+ </element>
1031
+ </define>
1032
+ <define name="copyright_scope">
1033
+ <element name="scope">
1034
+ <text/>
973
1035
  </element>
974
1036
  </define>
975
1037
  <define name="from">
@@ -989,38 +1051,63 @@
989
1051
  </define>
990
1052
  <define name="DocRelationType">
991
1053
  <choice>
992
- <value>obsoletes</value>
993
- <value>obsoletedBy</value>
994
- <value>supersedes</value>
995
- <value>supersededBy</value>
996
- <value>updates</value>
997
- <value>updatedBy</value>
998
- <value>complements</value>
999
- <value>derivedFrom</value>
1000
- <value>translatedFrom</value>
1001
- <value>hasTranslation</value>
1002
- <value>adoptedFrom</value>
1003
- <value>equivalent</value>
1004
- <value>identical</value>
1005
- <value>nonequivalent</value>
1006
- <value>includedIn</value>
1007
1054
  <value>includes</value>
1008
- <value>instance</value>
1009
- <value>instanceOf</value>
1010
- <value>partOf</value>
1055
+ <value>includedIn</value>
1011
1056
  <value>hasPart</value>
1012
- <value>hasDraft</value>
1013
- <value>draftOf</value>
1057
+ <value>partOf</value>
1014
1058
  <value>merges</value>
1059
+ <value>mergedInto</value>
1015
1060
  <value>splits</value>
1016
- <value>amends</value>
1017
- <value>amendedBy</value>
1018
- <value>corrects</value>
1019
- <value>correctedBy</value>
1020
- <value>revises</value>
1021
- <value>revisedBy</value>
1061
+ <value>splitInto</value>
1062
+ <value>instance</value>
1063
+ <value>hasInstance</value>
1064
+ <value>exemplarOf</value>
1065
+ <value>hasExemplar</value>
1066
+ <value>manifestationOf</value>
1067
+ <value>hasManifestation</value>
1068
+ <value>reproductionOf</value>
1069
+ <value>hasReproduction</value>
1070
+ <value>reprintOf</value>
1071
+ <value>hasReprint</value>
1072
+ <value>expressionOf</value>
1073
+ <value>hasExpression</value>
1074
+ <value>translatedFrom</value>
1075
+ <value>hasTranslation</value>
1076
+ <value>arrangementOf</value>
1077
+ <value>hasArrangement</value>
1078
+ <value>abridgementOf</value>
1079
+ <value>hasAbridgement</value>
1080
+ <value>annotationOf</value>
1081
+ <value>hasAnnotation</value>
1082
+ <value>draftOf</value>
1083
+ <value>hasDraft</value>
1084
+ <value>editionOf</value>
1085
+ <value>hasEdition</value>
1086
+ <value>updates</value>
1087
+ <value>updatedBy</value>
1088
+ <value>derivedFrom</value>
1089
+ <value>derives</value>
1022
1090
  <value>describes</value>
1023
1091
  <value>describedBy</value>
1092
+ <value>catalogues</value>
1093
+ <value>cataloguedBy</value>
1094
+ <value>hasSuccessor</value>
1095
+ <value>successorOf</value>
1096
+ <value>adaptedFrom</value>
1097
+ <value>hasAdaptation</value>
1098
+ <value>adoptedFrom</value>
1099
+ <value>adoptedAs</value>
1100
+ <value>reviewOf</value>
1101
+ <value>hasReview</value>
1102
+ <value>commentaryOf</value>
1103
+ <value>hasCommentary</value>
1104
+ <value>related</value>
1105
+ <value>complements</value>
1106
+ <value>complementOf</value>
1107
+ <value>obsoletes</value>
1108
+ <value>obsoletedBy</value>
1109
+ <value>cited</value>
1110
+ <value>isCitedIn</value>
1024
1111
  </choice>
1025
1112
  </define>
1026
1113
  <define name="docrelation">
@@ -1028,12 +1115,30 @@
1028
1115
  <attribute name="type">
1029
1116
  <ref name="DocRelationType"/>
1030
1117
  </attribute>
1118
+ <optional>
1119
+ <element name="description">
1120
+ <ref name="FormattedString"/>
1121
+ </element>
1122
+ </optional>
1031
1123
  <element name="bibitem">
1032
1124
  <ref name="BibliographicItem"/>
1033
1125
  </element>
1034
- <zeroOrMore>
1035
- <ref name="locality"/>
1036
- </zeroOrMore>
1126
+ <choice>
1127
+ <zeroOrMore>
1128
+ <ref name="locality"/>
1129
+ </zeroOrMore>
1130
+ <zeroOrMore>
1131
+ <ref name="localityStack"/>
1132
+ </zeroOrMore>
1133
+ </choice>
1134
+ <choice>
1135
+ <zeroOrMore>
1136
+ <ref name="sourceLocality"/>
1137
+ </zeroOrMore>
1138
+ <zeroOrMore>
1139
+ <ref name="sourceLocalityStack"/>
1140
+ </zeroOrMore>
1141
+ </choice>
1037
1142
  </element>
1038
1143
  </define>
1039
1144
  <define name="version">
@@ -14,6 +14,14 @@ module Asciidoctor
14
14
 
15
15
  register_for "generic"
16
16
 
17
+ def xml_root_tag
18
+ configuration.xml_root_tag || XML_ROOT_TAG
19
+ end
20
+
21
+ def xml_namespace
22
+ configuration.document_namespace || XML_NAMESPACE
23
+ end
24
+
17
25
  def baselocation(loc)
18
26
  return nil if loc.nil?
19
27
  File.expand_path(File.join(File.dirname(self.class::_file || __FILE__), "..", "..", "..", loc))
@@ -23,7 +31,7 @@ module Asciidoctor
23
31
  xml.contributor do |c|
24
32
  c.role **{ type: "author" }
25
33
  c.organization do |a|
26
- a.name configuration.organization_name_short
34
+ a.name configuration.organization_name_long
27
35
  end
28
36
  end
29
37
  personal_author(node, xml)
@@ -33,7 +41,7 @@ module Asciidoctor
33
41
  xml.contributor do |c|
34
42
  c.role **{ type: "publisher" }
35
43
  c.organization do |a|
36
- a.name configuration.organization_name_short
44
+ a.name configuration.organization_name_long
37
45
  end
38
46
  end
39
47
  end
@@ -52,6 +60,15 @@ module Asciidoctor
52
60
  end
53
61
  end
54
62
 
63
+ def metadata_status(node, xml)
64
+ xml.status do |s|
65
+ s.stage ( node.attr("status") || node.attr("docstage") ||
66
+ configuration.default_stage || "published" )
67
+ x = node.attr("substage") and s.substage x
68
+ x = node.attr("iteration") and s.iteration x
69
+ end
70
+ end
71
+
55
72
  def docidentifier_cleanup(xmldoc)
56
73
  template = configuration.docid_template ||
57
74
  "{{ organization_name_short }} {{ docnumeric }}"
@@ -61,7 +78,8 @@ module Asciidoctor
61
78
  end
62
79
 
63
80
  def metadata_id(node, xml)
64
- xml.docidentifier do |i|
81
+ xml.docidentifier **{ type:
82
+ configuration.organization_name_short } do |i|
65
83
  i << "DUMMY"
66
84
  end
67
85
  xml.docnumber { |i| i << node.attr("docnumber") }
@@ -73,34 +91,28 @@ module Asciidoctor
73
91
  c.from from
74
92
  c.owner do |owner|
75
93
  owner.organization do |o|
76
- o.name configuration.organization_name_short
94
+ o.name configuration.organization_name_long
77
95
  end
78
96
  end
79
97
  end
80
98
  end
81
99
 
82
- def makexml(node)
83
- root_tag = configuration.xml_root_tag || XML_ROOT_TAG
84
- result = ["<?xml version='1.0' encoding='UTF-8'?>\n<#{root_tag}>"]
85
- @draft = node.attributes.has_key?("draft")
86
- result << noko { |ixml| front node, ixml }
87
- result << noko { |ixml| middle node, ixml }
88
- result << "</#{root_tag}>"
89
- result = textcleanup(result)
90
- ret1 = cleanup(Nokogiri::XML(result))
91
- validate(ret1) unless @novalid
92
- ret1.root.add_namespace(nil, configuration.document_namespace ||
93
- XML_NAMESPACE)
94
- ret1
100
+ def metadata_ext(node, ext)
101
+ super
102
+ Array(configuration.metadata_extensions).each do |e|
103
+ a = node.attr(e) and ext.send e, a
104
+ end
95
105
  end
96
106
 
97
107
  def doctype(node)
98
108
  d = node.attr("doctype")
99
- unless %w{policy-and-procedures best-practices supporting-document
100
- report legal directives proposal standard}.include? d
109
+ configuration.doctypes or return d == "article" ? "standard" : d
110
+ default = configuration.default_doctype || Array(configuration.doctypes).dig(0) ||
111
+ "standard"
112
+ unless Array(configuration.doctypes).include? d
101
113
  @log.add("Document Attributes", nil,
102
- "#{d} is not a legal document type: reverting to 'standard'")
103
- d = "standard"
114
+ "#{d} is not a legal document type: reverting to '#{default}'")
115
+ d = default
104
116
  end
105
117
  d
106
118
  end
@@ -110,22 +122,32 @@ module Asciidoctor
110
122
  set_default_values_from_yaml_file(path_to_config_file)
111
123
  end
112
124
 
125
+ def sectiontype_streamline(ret)
126
+ if configuration.termsdefs_titles.map(&:downcase).include? (ret)
127
+ "terms and definitions"
128
+ elsif configuration.symbols_titles.map(&:downcase).include? (ret)
129
+ "symbols and abbreviated terms"
130
+ elsif configuration.normref_titles.map(&:downcase).include? (ret)
131
+ "normative references"
132
+ elsif configuration.bibliography_titles.map(&:downcase).include? (ret)
133
+ "bibliography"
134
+ else
135
+ ret
136
+ end
137
+ end
138
+
113
139
  def document(node)
114
140
  read_config_file(node.attr("customize")) if node.attr("customize")
115
- init(node)
116
- ret1 = makexml(node)
117
- ret = ret1.to_xml(indent: 2)
118
- unless node.attr("nodoc") || !node.attr("docfile")
119
- filename = node.attr("docfile").gsub(/\.adoc/, ".xml").
120
- gsub(%r{^.*/}, "")
121
- File.open(filename, "w") { |f| f.write(ret) }
122
- html_converter(node).convert filename unless node.attr("nodoc")
123
- word_converter(node).convert filename unless node.attr("nodoc")
124
- pdf_converter(node).convert filename unless node.attr("nodoc")
125
- end
126
- @log.write(@localdir + @filename + ".err") unless @novalid
127
- @files_to_delete.each { |f| FileUtils.rm f }
128
- ret
141
+ super
142
+ end
143
+
144
+ def outputs(node, ret)
145
+ File.open(@filename + ".xml", "w:UTF-8") { |f| f.write(ret) }
146
+ presentation_xml_converter(node).convert(@filename + ".xml")
147
+ html_converter(node).convert(@filename + ".presentation.xml", nil, false, "#{@filename}.html")
148
+ doc_converter(node).convert(@filename + ".presentation.xml", nil, false, "#{@filename}.doc")
149
+ pdf_converter(node)&.convert(@filename + ".presentation.xml", nil, false, "#{@filename}.pdf")
150
+
129
151
  end
130
152
 
131
153
  def validate(doc)
@@ -135,6 +157,23 @@ module Asciidoctor
135
157
  File.join(File.dirname(__FILE__), "generic.rng"))
136
158
  end
137
159
 
160
+ def content_validate(doc)
161
+ super
162
+ bibdata_validate(doc.root)
163
+ end
164
+
165
+ def bibdata_validate(doc)
166
+ stage_validate(doc)
167
+ end
168
+
169
+ def stage_validate(xmldoc)
170
+ stages = configuration&.stage_abbreviations&.keys || return
171
+ stages.empty? and return
172
+ stage = xmldoc&.at("//bibdata/status/stage")&.text
173
+ stages.include? stage or
174
+ @log.add("Document Attributes", nil, "#{stage} is not a recognised status")
175
+ end
176
+
138
177
  def sections_cleanup(x)
139
178
  super
140
179
  x.xpath("//*[@inline-header]").each do |h|
@@ -148,11 +187,15 @@ module Asciidoctor
148
187
  IsoDoc::Generic::HtmlConvert.new(html_extract_attributes(node))
149
188
  end
150
189
 
190
+ def presentation_xml_converter(node)
191
+ IsoDoc::Generic::PresentationXMLConvert.new(html_extract_attributes(node))
192
+ end
193
+
151
194
  alias_method :pdf_converter, :html_converter
152
195
  alias_method :style, :blank_method
153
196
  alias_method :title_validate, :blank_method
154
197
 
155
- def word_converter(node)
198
+ def doc_converter(node)
156
199
  IsoDoc::Generic::WordConvert.new(doc_extract_attributes(node))
157
200
  end
158
201