metanorma-m3aawg 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/workflows/macos.yml +39 -0
- data/.github/workflows/ubuntu.yml +53 -0
- data/.github/workflows/windows.yml +41 -0
- data/.gitignore +1 -0
- data/.hound.yml +3 -0
- data/.rubocop.yml +10 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +11 -0
- data/LICENSE +25 -0
- data/README.adoc +67 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/rspec +18 -0
- data/bin/setup +8 -0
- data/lib/asciidoctor/m3aawg.rb +5 -0
- data/lib/asciidoctor/m3aawg/basicdoc.rng +1059 -0
- data/lib/asciidoctor/m3aawg/biblio.rng +1237 -0
- data/lib/asciidoctor/m3aawg/boilerplate.xml +44 -0
- data/lib/asciidoctor/m3aawg/converter.rb +142 -0
- data/lib/asciidoctor/m3aawg/isodoc.rng +1504 -0
- data/lib/asciidoctor/m3aawg/m3d.rng +109 -0
- data/lib/asciidoctor/m3aawg/reqt.rng +194 -0
- data/lib/asciidoctor/m3aawg/validate.rb +22 -0
- data/lib/isodoc/m3aawg/base_convert.rb +54 -0
- data/lib/isodoc/m3aawg/html/dots-w@2x.png +0 -0
- data/lib/isodoc/m3aawg/html/dots@2x.png +0 -0
- data/lib/isodoc/m3aawg/html/header.html +328 -0
- data/lib/isodoc/m3aawg/html/html_m3d_intro.html +14 -0
- data/lib/isodoc/m3aawg/html/html_m3d_titlepage.html +81 -0
- data/lib/isodoc/m3aawg/html/htmlstyle.scss +733 -0
- data/lib/isodoc/m3aawg/html/logo.jpg +0 -0
- data/lib/isodoc/m3aawg/html/m3-logo.png +0 -0
- data/lib/isodoc/m3aawg/html/m3d.scss +743 -0
- data/lib/isodoc/m3aawg/html/scripts.html +71 -0
- data/lib/isodoc/m3aawg/html/word_m3d_intro.html +10 -0
- data/lib/isodoc/m3aawg/html/word_m3d_titlepage.html +41 -0
- data/lib/isodoc/m3aawg/html/wordstyle.scss +1175 -0
- data/lib/isodoc/m3aawg/html_convert.rb +63 -0
- data/lib/isodoc/m3aawg/m3d.report.xsl +3299 -0
- data/lib/isodoc/m3aawg/metadata.rb +53 -0
- data/lib/isodoc/m3aawg/pdf_convert.rb +22 -0
- data/lib/isodoc/m3aawg/presentation_xml_convert.rb +10 -0
- data/lib/isodoc/m3aawg/word_convert.rb +61 -0
- data/lib/metanorma-m3aawg.rb +12 -0
- data/lib/metanorma/m3aawg.rb +7 -0
- data/lib/metanorma/m3aawg/processor.rb +54 -0
- data/lib/metanorma/m3aawg/version.rb +5 -0
- data/metanorma-m3d.gemspec +51 -0
- metadata +334 -0
@@ -0,0 +1,109 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<grammar ns="https://www.metanorma.org/ns/m3d" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
+
<!--
|
4
|
+
Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc,
|
5
|
+
we cannot have a new default namespace: we will end up with a grammar with two different
|
6
|
+
namespaces, one for isostandard and one for csand additions. And we do not want that.
|
7
|
+
-->
|
8
|
+
<include href="isodoc.rng">
|
9
|
+
<start>
|
10
|
+
<ref name="m3d-standard"/>
|
11
|
+
</start>
|
12
|
+
<define name="figure">
|
13
|
+
<element name="figure">
|
14
|
+
<attribute name="id">
|
15
|
+
<data type="ID"/>
|
16
|
+
</attribute>
|
17
|
+
<optional>
|
18
|
+
<attribute name="unnumbered">
|
19
|
+
<data type="boolean"/>
|
20
|
+
</attribute>
|
21
|
+
</optional>
|
22
|
+
<optional>
|
23
|
+
<attribute name="number"/>
|
24
|
+
</optional>
|
25
|
+
<optional>
|
26
|
+
<attribute name="subsequence"/>
|
27
|
+
</optional>
|
28
|
+
<optional>
|
29
|
+
<attribute name="class"/>
|
30
|
+
</optional>
|
31
|
+
<optional>
|
32
|
+
<ref name="source"/>
|
33
|
+
</optional>
|
34
|
+
<optional>
|
35
|
+
<ref name="tname"/>
|
36
|
+
</optional>
|
37
|
+
<choice>
|
38
|
+
<oneOrMore>
|
39
|
+
<ref name="figure"/>
|
40
|
+
</oneOrMore>
|
41
|
+
<group>
|
42
|
+
<choice>
|
43
|
+
<zeroOrMore>
|
44
|
+
<ref name="TextElement"/>
|
45
|
+
</zeroOrMore>
|
46
|
+
<ref name="pre"/>
|
47
|
+
</choice>
|
48
|
+
<zeroOrMore>
|
49
|
+
<ref name="note"/>
|
50
|
+
</zeroOrMore>
|
51
|
+
<optional>
|
52
|
+
<ref name="dl"/>
|
53
|
+
</optional>
|
54
|
+
</group>
|
55
|
+
</choice>
|
56
|
+
</element>
|
57
|
+
</define>
|
58
|
+
<define name="DocumentType">
|
59
|
+
<choice>
|
60
|
+
<value>guidance</value>
|
61
|
+
<value>proposal</value>
|
62
|
+
<value>standard</value>
|
63
|
+
<value>report</value>
|
64
|
+
<value>whitepaper</value>
|
65
|
+
<value>charter</value>
|
66
|
+
<value>policy</value>
|
67
|
+
<value>glossary</value>
|
68
|
+
<value>case-study</value>
|
69
|
+
</choice>
|
70
|
+
</define>
|
71
|
+
<define name="editorialgroup">
|
72
|
+
<element name="editorialgroup">
|
73
|
+
<oneOrMore>
|
74
|
+
<ref name="committee"/>
|
75
|
+
</oneOrMore>
|
76
|
+
</element>
|
77
|
+
</define>
|
78
|
+
</include>
|
79
|
+
<define name="committee">
|
80
|
+
<element name="committee">
|
81
|
+
<attribute name="type">
|
82
|
+
<choice>
|
83
|
+
<value>technical</value>
|
84
|
+
<value>provisional</value>
|
85
|
+
</choice>
|
86
|
+
</attribute>
|
87
|
+
<text/>
|
88
|
+
</element>
|
89
|
+
</define>
|
90
|
+
<define name="m3d-standard">
|
91
|
+
<element name="m3d-standard">
|
92
|
+
<ref name="bibdata"/>
|
93
|
+
<zeroOrMore>
|
94
|
+
<ref name="termdocsource"/>
|
95
|
+
</zeroOrMore>
|
96
|
+
<optional>
|
97
|
+
<ref name="boilerplate"/>
|
98
|
+
</optional>
|
99
|
+
<ref name="preface"/>
|
100
|
+
<oneOrMore>
|
101
|
+
<ref name="sections"/>
|
102
|
+
</oneOrMore>
|
103
|
+
<zeroOrMore>
|
104
|
+
<ref name="annex"/>
|
105
|
+
</zeroOrMore>
|
106
|
+
<ref name="bibliography"/>
|
107
|
+
</element>
|
108
|
+
</define>
|
109
|
+
</grammar>
|
@@ -0,0 +1,194 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
+
<!--
|
4
|
+
Presupposes isodoc.rnc, is included in it
|
5
|
+
include "isodoc.rnc" { }
|
6
|
+
-->
|
7
|
+
<define name="requirement">
|
8
|
+
<element name="requirement">
|
9
|
+
<ref name="RequirementType"/>
|
10
|
+
</element>
|
11
|
+
</define>
|
12
|
+
<define name="recommendation">
|
13
|
+
<element name="recommendation">
|
14
|
+
<ref name="RequirementType"/>
|
15
|
+
</element>
|
16
|
+
</define>
|
17
|
+
<define name="permission">
|
18
|
+
<element name="permission">
|
19
|
+
<ref name="RequirementType"/>
|
20
|
+
</element>
|
21
|
+
</define>
|
22
|
+
<define name="RequirementType">
|
23
|
+
<optional>
|
24
|
+
<attribute name="obligation">
|
25
|
+
<ref name="ObligationType"/>
|
26
|
+
</attribute>
|
27
|
+
</optional>
|
28
|
+
<optional>
|
29
|
+
<attribute name="unnumbered">
|
30
|
+
<data type="boolean"/>
|
31
|
+
</attribute>
|
32
|
+
</optional>
|
33
|
+
<optional>
|
34
|
+
<attribute name="number"/>
|
35
|
+
</optional>
|
36
|
+
<optional>
|
37
|
+
<attribute name="subsequence"/>
|
38
|
+
</optional>
|
39
|
+
<optional>
|
40
|
+
<attribute name="keep-with-next">
|
41
|
+
<data type="boolean"/>
|
42
|
+
</attribute>
|
43
|
+
</optional>
|
44
|
+
<optional>
|
45
|
+
<attribute name="keep-lines-together">
|
46
|
+
<data type="boolean"/>
|
47
|
+
</attribute>
|
48
|
+
</optional>
|
49
|
+
<attribute name="id">
|
50
|
+
<data type="ID"/>
|
51
|
+
</attribute>
|
52
|
+
<optional>
|
53
|
+
<attribute name="filename"/>
|
54
|
+
</optional>
|
55
|
+
<optional>
|
56
|
+
<attribute name="model"/>
|
57
|
+
</optional>
|
58
|
+
<optional>
|
59
|
+
<attribute name="type"/>
|
60
|
+
</optional>
|
61
|
+
<optional>
|
62
|
+
<ref name="reqtitle"/>
|
63
|
+
</optional>
|
64
|
+
<optional>
|
65
|
+
<ref name="label"/>
|
66
|
+
</optional>
|
67
|
+
<optional>
|
68
|
+
<ref name="subject"/>
|
69
|
+
</optional>
|
70
|
+
<zeroOrMore>
|
71
|
+
<ref name="reqinherit"/>
|
72
|
+
</zeroOrMore>
|
73
|
+
<zeroOrMore>
|
74
|
+
<ref name="classification"/>
|
75
|
+
</zeroOrMore>
|
76
|
+
<zeroOrMore>
|
77
|
+
<choice>
|
78
|
+
<ref name="measurementtarget"/>
|
79
|
+
<ref name="specification"/>
|
80
|
+
<ref name="verification"/>
|
81
|
+
<ref name="import"/>
|
82
|
+
<ref name="description"/>
|
83
|
+
</choice>
|
84
|
+
</zeroOrMore>
|
85
|
+
<optional>
|
86
|
+
<ref name="reqt_references"/>
|
87
|
+
</optional>
|
88
|
+
<zeroOrMore>
|
89
|
+
<choice>
|
90
|
+
<ref name="requirement"/>
|
91
|
+
<ref name="recommendation"/>
|
92
|
+
<ref name="permission"/>
|
93
|
+
</choice>
|
94
|
+
</zeroOrMore>
|
95
|
+
</define>
|
96
|
+
<define name="reqtitle">
|
97
|
+
<element name="title">
|
98
|
+
<ref name="FormattedString"/>
|
99
|
+
</element>
|
100
|
+
</define>
|
101
|
+
<define name="label">
|
102
|
+
<element name="label">
|
103
|
+
<text/>
|
104
|
+
</element>
|
105
|
+
</define>
|
106
|
+
<define name="subject">
|
107
|
+
<element name="subject">
|
108
|
+
<text/>
|
109
|
+
</element>
|
110
|
+
</define>
|
111
|
+
<define name="reqinherit">
|
112
|
+
<element name="inherit">
|
113
|
+
<text/>
|
114
|
+
</element>
|
115
|
+
</define>
|
116
|
+
<define name="measurementtarget">
|
117
|
+
<element name="measurement-target">
|
118
|
+
<ref name="RequirementSubpart"/>
|
119
|
+
</element>
|
120
|
+
</define>
|
121
|
+
<define name="specification">
|
122
|
+
<element name="specification">
|
123
|
+
<ref name="RequirementSubpart"/>
|
124
|
+
</element>
|
125
|
+
</define>
|
126
|
+
<define name="verification">
|
127
|
+
<element name="verification">
|
128
|
+
<ref name="RequirementSubpart"/>
|
129
|
+
</element>
|
130
|
+
</define>
|
131
|
+
<define name="import">
|
132
|
+
<element name="import">
|
133
|
+
<ref name="RequirementSubpart"/>
|
134
|
+
</element>
|
135
|
+
</define>
|
136
|
+
<define name="description">
|
137
|
+
<element name="description">
|
138
|
+
<ref name="RequirementSubpart"/>
|
139
|
+
</element>
|
140
|
+
</define>
|
141
|
+
<define name="reqt_references">
|
142
|
+
<element name="references">
|
143
|
+
<oneOrMore>
|
144
|
+
<ref name="bibitem"/>
|
145
|
+
</oneOrMore>
|
146
|
+
</element>
|
147
|
+
</define>
|
148
|
+
<define name="RequirementSubpart">
|
149
|
+
<optional>
|
150
|
+
<attribute name="type"/>
|
151
|
+
</optional>
|
152
|
+
<optional>
|
153
|
+
<attribute name="exclude">
|
154
|
+
<data type="boolean"/>
|
155
|
+
</attribute>
|
156
|
+
</optional>
|
157
|
+
<optional>
|
158
|
+
<attribute name="keep-with-next">
|
159
|
+
<data type="boolean"/>
|
160
|
+
</attribute>
|
161
|
+
</optional>
|
162
|
+
<optional>
|
163
|
+
<attribute name="keep-lines-together">
|
164
|
+
<data type="boolean"/>
|
165
|
+
</attribute>
|
166
|
+
</optional>
|
167
|
+
<oneOrMore>
|
168
|
+
<ref name="BasicBlock"/>
|
169
|
+
</oneOrMore>
|
170
|
+
</define>
|
171
|
+
<define name="ObligationType">
|
172
|
+
<choice>
|
173
|
+
<value>requirement</value>
|
174
|
+
<value>recommendation</value>
|
175
|
+
<value>permission</value>
|
176
|
+
</choice>
|
177
|
+
</define>
|
178
|
+
<define name="classification">
|
179
|
+
<element name="classification">
|
180
|
+
<ref name="classification_tag"/>
|
181
|
+
<ref name="classification_value"/>
|
182
|
+
</element>
|
183
|
+
</define>
|
184
|
+
<define name="classification_tag">
|
185
|
+
<element name="tag">
|
186
|
+
<text/>
|
187
|
+
</element>
|
188
|
+
</define>
|
189
|
+
<define name="classification_value">
|
190
|
+
<element name="value">
|
191
|
+
<text/>
|
192
|
+
</element>
|
193
|
+
</define>
|
194
|
+
</grammar>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Asciidoctor
|
2
|
+
module M3AAWG
|
3
|
+
class Converter < Standoc::Converter
|
4
|
+
def content_validate(doc)
|
5
|
+
super
|
6
|
+
bibdata_validate(doc.root)
|
7
|
+
end
|
8
|
+
|
9
|
+
def bibdata_validate(doc)
|
10
|
+
stage_validate(doc)
|
11
|
+
end
|
12
|
+
|
13
|
+
def stage_validate(xmldoc)
|
14
|
+
stage = xmldoc&.at("//bibdata/status/stage")&.text
|
15
|
+
%w(proposal working-draft committee-draft draft-standard final-draft
|
16
|
+
published withdrawn).include? stage or
|
17
|
+
@log.add("Document Attributes", nil, "#{stage} is not a recognised status")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require_relative "metadata"
|
2
|
+
require "fileutils"
|
3
|
+
|
4
|
+
module IsoDoc
|
5
|
+
module M3AAWG
|
6
|
+
module BaseRender
|
7
|
+
def metadata_init(lang, script, labels)
|
8
|
+
@meta = Metadata.new(lang, script, labels)
|
9
|
+
end
|
10
|
+
|
11
|
+
#def add_image(filenames)
|
12
|
+
#filenames.each do |filename|
|
13
|
+
#FileUtils.cp html_doc_path(filename), File.join(@localdir, filename)
|
14
|
+
#@files_to_delete << File.join(@localdir, filename)
|
15
|
+
#end
|
16
|
+
#end
|
17
|
+
|
18
|
+
def annex_name(annex, name, div)
|
19
|
+
div.h1 **{ class: "Annex" } do |t|
|
20
|
+
t << "#{@xrefs.anchor(annex['id'], :label)} "
|
21
|
+
t.br
|
22
|
+
t.b do |b|
|
23
|
+
name&.children&.each { |c2| parse(c2, b) }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def i18n_init(lang, script)
|
29
|
+
super
|
30
|
+
@annex_lbl = "Appendix"
|
31
|
+
@labels["annex"] = "Appendix"
|
32
|
+
end
|
33
|
+
|
34
|
+
def fileloc(loc)
|
35
|
+
File.join(File.dirname(__FILE__), loc)
|
36
|
+
end
|
37
|
+
|
38
|
+
def cleanup(docxml)
|
39
|
+
super
|
40
|
+
term_cleanup(docxml)
|
41
|
+
end
|
42
|
+
|
43
|
+
def term_cleanup(docxml)
|
44
|
+
docxml.xpath("//p[@class = 'Terms']").each do |d|
|
45
|
+
h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
|
46
|
+
h2.add_child(" ")
|
47
|
+
h2.add_child(d.remove)
|
48
|
+
end
|
49
|
+
docxml
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
Binary file
|
Binary file
|
@@ -0,0 +1,328 @@
|
|
1
|
+
<html xmlns:v="urn:schemas-microsoft-com:vml"
|
2
|
+
xmlns:o="urn:schemas-microsoft-com:office:office"
|
3
|
+
xmlns:w="urn:schemas-microsoft-com:office:word"
|
4
|
+
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
|
5
|
+
xmlns="http://www.w3.org/TR/REC-html40">
|
6
|
+
|
7
|
+
<head>
|
8
|
+
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
|
9
|
+
<meta name=ProgId content=Word.Document>
|
10
|
+
<meta name=Generator content="Microsoft Word 15">
|
11
|
+
<meta name=Originator content="Microsoft Word 15">
|
12
|
+
<link id=Main-File rel=Main-File href="../m3aawg-document-template-2015-10.html">
|
13
|
+
<!--[if gte mso 9]><xml>
|
14
|
+
<o:shapedefaults v:ext="edit" spidmax="2051"/>
|
15
|
+
</xml><![endif]--><!--[if gte mso 9]><xml>
|
16
|
+
<o:shapelayout v:ext="edit">
|
17
|
+
<o:idmap v:ext="edit" data="2"/>
|
18
|
+
</o:shapelayout></xml><![endif]-->
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<body lang=EL link=blue vlink=purple>
|
22
|
+
|
23
|
+
<div style='mso-element:footnote-separator' id=fs>
|
24
|
+
|
25
|
+
<p class=MsoNormal><span lang=EN-US><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
|
26
|
+
|
27
|
+
<hr align=left size=1 width="33%">
|
28
|
+
|
29
|
+
<![endif]></span></span></p>
|
30
|
+
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div style='mso-element:footnote-continuation-separator' id=fcs>
|
34
|
+
|
35
|
+
<p class=MsoNormal><span lang=EN-US><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
|
36
|
+
|
37
|
+
<hr align=left size=1>
|
38
|
+
|
39
|
+
<![endif]></span></span></p>
|
40
|
+
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div style='mso-element:endnote-separator' id=es>
|
44
|
+
|
45
|
+
<p class=MsoNormal><span lang=EN-US><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
|
46
|
+
|
47
|
+
<hr align=left size=1 width="33%">
|
48
|
+
|
49
|
+
<![endif]></span></span></p>
|
50
|
+
|
51
|
+
</div>
|
52
|
+
|
53
|
+
<div style='mso-element:endnote-continuation-separator' id=ecs>
|
54
|
+
|
55
|
+
<p class=MsoNormal><span lang=EN-US><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
|
56
|
+
|
57
|
+
<hr align=left size=1>
|
58
|
+
|
59
|
+
<![endif]></span></span></p>
|
60
|
+
|
61
|
+
</div>
|
62
|
+
|
63
|
+
<div style='mso-element:header' id=eh1>
|
64
|
+
</div>
|
65
|
+
|
66
|
+
<p class=MsoHeader style='margin-right:18.0pt'><span lang=EN-US><o:p> </o:p></span></p>
|
67
|
+
|
68
|
+
</div>
|
69
|
+
|
70
|
+
<div style='mso-element:header' id=eh1l>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
|
74
|
+
<div style='mso-element:header' id=h1>
|
75
|
+
</div>
|
76
|
+
|
77
|
+
<div style='mso-element:header' id=h1l>
|
78
|
+
</div>
|
79
|
+
|
80
|
+
<div style='mso-element:footer' id=ef1>
|
81
|
+
<div style='mso-element:frame;mso-element-wrap:around;mso-element-anchor-vertical:
|
82
|
+
paragraph;mso-element-anchor-horizontal:margin;mso-element-left:right;
|
83
|
+
mso-element-top:.05pt;mso-height-rule:exactly'>
|
84
|
+
<table cellspacing=0 cellpadding=0 hspace=0 vspace=0 align=right>
|
85
|
+
<tr>
|
86
|
+
<td valign=top align=left style='padding-top:0cm;padding-right:0cm;
|
87
|
+
padding-bottom:0cm;padding-left:0cm'>
|
88
|
+
<p class=MsoFooter style='mso-element:frame;mso-element-wrap:around;
|
89
|
+
mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:margin;
|
90
|
+
mso-element-left:right;mso-element-top:.05pt;mso-height-rule:exactly'><!--[if supportFields]><span
|
91
|
+
class=MsoPageNumber><span lang=EN-US><span style='mso-element:field-begin'></span>PAGE<span
|
92
|
+
style='mso-spacerun:yes'> </span></span></span><![endif]--><!--[if supportFields]><span
|
93
|
+
class=MsoPageNumber><span lang=EN-US><span style='mso-element:field-end'></span></span></span><![endif]--><span
|
94
|
+
class=MsoPageNumber><span lang=EN-US><o:p></o:p></span></span></p>
|
95
|
+
</td>
|
96
|
+
</tr>
|
97
|
+
</table>
|
98
|
+
</div>
|
99
|
+
<p class=MsoFooter style='margin-right:18.0pt'><span lang=EN-US><o:p> </o:p></span></p>
|
100
|
+
</div>
|
101
|
+
|
102
|
+
<div style='mso-element:footer' id=ef1l>
|
103
|
+
<div style='mso-element:frame;mso-element-wrap:around;mso-element-anchor-vertical:
|
104
|
+
paragraph;mso-element-anchor-horizontal:margin;mso-element-left:right;
|
105
|
+
mso-element-top:.05pt;mso-height-rule:exactly'>
|
106
|
+
<table cellspacing=0 cellpadding=0 hspace=0 vspace=0 align=right>
|
107
|
+
<tr>
|
108
|
+
<td valign=top align=left style='padding-top:0cm;padding-right:0cm;
|
109
|
+
padding-bottom:0cm;padding-left:0cm'>
|
110
|
+
<p class=MsoFooterLandscape style='mso-element:frame;mso-element-wrap:around;
|
111
|
+
mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:margin;
|
112
|
+
mso-element-left:right;mso-element-top:.05pt;mso-height-rule:exactly'><!--[if supportFields]><span
|
113
|
+
class=MsoPageNumber><span lang=EN-US><span style='mso-element:field-begin'></span>PAGE<span
|
114
|
+
style='mso-spacerun:yes'> </span></span></span><![endif]--><!--[if supportFields]><span
|
115
|
+
class=MsoPageNumber><span lang=EN-US><span style='mso-element:field-end'></span></span></span><![endif]--><span
|
116
|
+
class=MsoPageNumber><span lang=EN-US><o:p></o:p></span></span></p>
|
117
|
+
</td>
|
118
|
+
</tr>
|
119
|
+
</table>
|
120
|
+
</div>
|
121
|
+
<p class=MsoFooterLandscape style='margin-right:18.0pt'><span lang=EN-US><o:p> </o:p></span></p>
|
122
|
+
</div>
|
123
|
+
|
124
|
+
<div style='mso-element:footer' id=f1>
|
125
|
+
<div style='mso-element:frame;mso-element-wrap:around;mso-element-anchor-vertical:
|
126
|
+
paragraph;mso-element-anchor-horizontal:margin;mso-element-left:right;
|
127
|
+
mso-element-top:.05pt;mso-height-rule:exactly'>
|
128
|
+
<table cellspacing=0 cellpadding=0 hspace=0 vspace=0 align=right>
|
129
|
+
<tr>
|
130
|
+
<td valign=top align=left style='padding-top:0cm;padding-right:0cm;
|
131
|
+
padding-bottom:0cm;padding-left:0cm'>
|
132
|
+
<p class=MsoHeader style='mso-element:frame;mso-element-wrap:around;
|
133
|
+
mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:margin;
|
134
|
+
mso-element-left:right;mso-element-top:.05pt;mso-height-rule:exactly'><!--[if supportFields]><span
|
135
|
+
class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><span
|
136
|
+
style='mso-element:field-begin'></span>PAGE<span style='mso-spacerun:yes'>
|
137
|
+
</span><span style='mso-element:field-separator'></span></span></span><![endif]--><span
|
138
|
+
class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'>1</span></span><!--[if supportFields]><span
|
139
|
+
class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><span
|
140
|
+
style='mso-element:field-end'></span></span></span><![endif]--><span
|
141
|
+
class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><o:p></o:p></span></span></p>
|
142
|
+
</td>
|
143
|
+
</tr>
|
144
|
+
</table>
|
145
|
+
</div>
|
146
|
+
<p class=MsoFooter><b style='mso-bidi-font-weight:normal'><span lang=EN-US
|
147
|
+
style='font-size:8.0pt;font-family:"Garamond",serif;mso-bidi-font-family:Arial'>{{doctitle}}<span style='mso-tab-count:2'> </span><o:p></o:p></span></b></p>
|
148
|
+
<p class=MsoFooter style='margin-right:18.0pt;tab-stops:center 181.5pt right 432.0pt'><span
|
149
|
+
lang=EN-US style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:Arial;
|
150
|
+
background:#E0E0E0'><o:p> </o:p></span></p>
|
151
|
+
</div>
|
152
|
+
|
153
|
+
<div style='mso-element:footer' id=f1l>
|
154
|
+
<div style='mso-element:frame;mso-element-wrap:around;mso-element-anchor-vertical:
|
155
|
+
paragraph;mso-element-anchor-horizontal:margin;mso-element-left:right;
|
156
|
+
mso-element-top:.05pt;mso-height-rule:exactly'>
|
157
|
+
<table cellspacing=0 cellpadding=0 hspace=0 vspace=0 align=right>
|
158
|
+
<tr>
|
159
|
+
<td valign=top align=left style='padding-top:0cm;padding-right:0cm;
|
160
|
+
padding-bottom:0cm;padding-left:0cm'>
|
161
|
+
<p class=MsoHeaderLandscape style='mso-element:frame;mso-element-wrap:around;
|
162
|
+
mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:margin;
|
163
|
+
mso-element-left:right;mso-element-top:.05pt;mso-height-rule:exactly'><!--[if supportFields]><span
|
164
|
+
class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><span
|
165
|
+
style='mso-element:field-begin'></span>PAGE<span style='mso-spacerun:yes'>
|
166
|
+
</span><span style='mso-element:field-separator'></span></span></span><![endif]--><span
|
167
|
+
class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'>1</span></span><!--[if supportFields]><span
|
168
|
+
class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><span
|
169
|
+
style='mso-element:field-end'></span></span></span><![endif]--><span
|
170
|
+
class=MsoPageNumber><span lang=EN-US style='font-family:"Garamond",serif'><o:p></o:p></span></span></p>
|
171
|
+
</td>
|
172
|
+
</tr>
|
173
|
+
</table>
|
174
|
+
</div>
|
175
|
+
<p class=MsoFooterLandscape><b style='mso-bidi-font-weight:normal'><span lang=EN-US
|
176
|
+
style='font-size:8.0pt;font-family:"Garamond",serif;mso-bidi-font-family:Arial'>{{doctitle}}<span style='mso-tab-count:2'> </span><o:p></o:p></span></b></p>
|
177
|
+
<p class=MsoFooterLandscape style='margin-right:18.0pt;tab-stops:center 181.5pt right 432.0pt'><span
|
178
|
+
lang=EN-US style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:Arial;
|
179
|
+
background:#E0E0E0'><o:p> </o:p></span></p>
|
180
|
+
</div>
|
181
|
+
|
182
|
+
<div style='mso-element:header' id=fh1>
|
183
|
+
<p class=MsoHeader><img width="323" height="39" src="{{ logo_word }}"></img>
|
184
|
+
<!--[if gte vml 1]><v:line id="_x0000_s2049" alt=""
|
185
|
+
style='position:absolute;flip:y;z-index:251659264;mso-wrap-style:none;
|
186
|
+
mso-wrap-edited:f;mso-width-percent:0;mso-height-percent:0;
|
187
|
+
mso-width-percent:0;mso-height-percent:0;v-text-anchor:middle' from="0,39.6pt"
|
188
|
+
to="500.4pt,39.6pt" strokecolor="#ff0c00">
|
189
|
+
<v:shadow color="#969696"/>
|
190
|
+
</v:line><![endif]--></span></b></p>
|
191
|
+
</div>
|
192
|
+
|
193
|
+
<div style='mso-element:header' id=fh1l>
|
194
|
+
<p class=MsoHeaderLandscape><img width="323" height="39" src="{{ logo_word }}"></img>
|
195
|
+
<!--[if gte vml 1]><v:line id="_x0000_s2049" alt=""
|
196
|
+
style='position:absolute;flip:y;z-index:251659264;mso-wrap-style:none;
|
197
|
+
mso-wrap-edited:f;mso-width-percent:0;mso-height-percent:0;
|
198
|
+
mso-width-percent:0;mso-height-percent:0;v-text-anchor:middle' from="0,39.6pt"
|
199
|
+
to="500.4pt,39.6pt" strokecolor="#ff0c00">
|
200
|
+
<v:shadow color="#969696"/>
|
201
|
+
</v:line><![endif]--></span></b></p>
|
202
|
+
</div>
|
203
|
+
|
204
|
+
<div style='mso-element:footer' id=ff1>
|
205
|
+
<p class=MsoFooter><b style='mso-bidi-font-weight:normal'><span lang=EN-US
|
206
|
+
style='font-size:8.0pt;mso-bidi-font-family:Arial'><span style='mso-tab-count:
|
207
|
+
1'> </span></span></b><span
|
208
|
+
lang=EN-US style='mso-no-proof:yes'><!--[if gte vml 1]><v:line id="_x0000_s2049"
|
209
|
+
style='position:absolute;flip:y;z-index:251660288;visibility:visible;
|
210
|
+
mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;
|
211
|
+
mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;
|
212
|
+
mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;
|
213
|
+
mso-position-horizontal-relative:text;mso-position-vertical:absolute;
|
214
|
+
mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;
|
215
|
+
mso-width-relative:page;mso-height-relative:page' from="0,0" to="500.4pt,0"
|
216
|
+
strokecolor="#ff0c00">
|
217
|
+
<v:shadow color="#969696"/>
|
218
|
+
</v:line><![endif]--></span><b style='mso-bidi-font-weight:normal'><span
|
219
|
+
lang=EN-US style='font-family:"Arial",sans-serif;mso-hansi-font-family:Garamond;
|
220
|
+
mso-bidi-font-family:"Times New Roman";color:#33A9CC'>M<sup>3</sup>AAWG</span></b><b
|
221
|
+
style='mso-bidi-font-weight:normal'><span lang=EN-US style='font-size:8.0pt;
|
222
|
+
mso-bidi-font-family:Arial'><o:p></o:p></span></b></p>
|
223
|
+
|
224
|
+
<p class=MsoFooter><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:
|
225
|
+
Arial'><span style='mso-tab-count:1'> </span></span><span
|
226
|
+
lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
|
227
|
+
mso-hansi-font-family:Garamond;mso-bidi-font-family:"Times New Roman"'>Messaging,
|
228
|
+
Malware and Mobile Anti-Abuse Working Group</span><span lang=EN-US
|
229
|
+
style='font-size:8.0pt;mso-bidi-font-family:Arial'><o:p></o:p></span></p>
|
230
|
+
|
231
|
+
<p class=MsoFooter><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:
|
232
|
+
Arial'><span style='mso-tab-count:1'> </span></span><span
|
233
|
+
lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
|
234
|
+
mso-bidi-font-family:"Times New Roman"'>P.O. Box 29920 </span><span lang=EN-US
|
235
|
+
style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:Wingdings;
|
236
|
+
color:#33A9CC'>n</span><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:
|
237
|
+
11.0pt;font-family:"Times New Roman",serif;color:#33A9CC'> </span><span
|
238
|
+
lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
|
239
|
+
mso-bidi-font-family:"Times New Roman"'>San Francisco, CA 94129-0920 </span><span
|
240
|
+
lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:Wingdings;
|
241
|
+
color:#33A9CC'>n</span><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:
|
242
|
+
11.0pt;font-family:"Times New Roman",serif;color:blue'> </span><u
|
243
|
+
style='text-underline:blue'><span lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:
|
244
|
+
11.0pt;font-family:"Arial",sans-serif;mso-bidi-font-family:"Times New Roman";
|
245
|
+
color:blue'><a href="http://www.M3AAWG.org/">www.M3AAWG.org<u style='text-underline:
|
246
|
+
#000000'><span style='text-underline:#000000;text-decoration:none;text-underline:
|
247
|
+
none'> </span></u></a></span></u><span lang=EN-US style='font-size:8.0pt;
|
248
|
+
mso-bidi-font-size:11.0pt;font-family:Wingdings;color:#33A9CC'>n</span><span
|
249
|
+
lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:"Times New Roman",serif;
|
250
|
+
color:blue'><a href="mailto:info@M3AAWG.org"><span style='text-decoration:none;
|
251
|
+
text-underline:none'> </span><span style='font-family:"Arial",sans-serif;
|
252
|
+
mso-bidi-font-family:"Times New Roman"'>info@M3AAWG.org</span></a></span><span
|
253
|
+
lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:Arial'><o:p></o:p></span></p>
|
254
|
+
|
255
|
+
</div>
|
256
|
+
|
257
|
+
<p class=MsoFooter><b style='mso-bidi-font-weight:normal'><span lang=EN-US
|
258
|
+
style='font-size:8.0pt;font-family:"Garamond",serif;mso-bidi-font-family:Arial'>{{doctitle}}<span style='mso-tab-count:2'> </span><o:p></o:p></span></b></p>
|
259
|
+
|
260
|
+
</div>
|
261
|
+
|
262
|
+
<div style='mso-element:footer' id=ff1l>
|
263
|
+
<p class=MsoFooterLandscape><b style='mso-bidi-font-weight:normal'><span lang=EN-US
|
264
|
+
style='font-size:8.0pt;mso-bidi-font-family:Arial'><span style='mso-tab-count:
|
265
|
+
1'> </span></span></b><span
|
266
|
+
lang=EN-US style='mso-no-proof:yes'><!--[if gte vml 1]><v:line id="_x0000_s2049"
|
267
|
+
style='position:absolute;flip:y;z-index:251660288;visibility:visible;
|
268
|
+
mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;
|
269
|
+
mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;
|
270
|
+
mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;
|
271
|
+
mso-position-horizontal-relative:text;mso-position-vertical:absolute;
|
272
|
+
mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;
|
273
|
+
mso-width-relative:page;mso-height-relative:page' from="0,0" to="500.4pt,0"
|
274
|
+
strokecolor="#ff0c00">
|
275
|
+
<v:shadow color="#969696"/>
|
276
|
+
</v:line><![endif]--></span><b style='mso-bidi-font-weight:normal'><span
|
277
|
+
lang=EN-US style='font-family:"Arial",sans-serif;mso-hansi-font-family:Garamond;
|
278
|
+
mso-bidi-font-family:"Times New Roman";color:#33A9CC'>M<sup>3</sup>AAWG</span></b><b
|
279
|
+
style='mso-bidi-font-weight:normal'><span lang=EN-US style='font-size:8.0pt;
|
280
|
+
mso-bidi-font-family:Arial'><o:p></o:p></span></b></p>
|
281
|
+
|
282
|
+
<p class=MsoFooterLandscape><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:
|
283
|
+
Arial'><span style='mso-tab-count:1'> </span></span><span
|
284
|
+
lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
|
285
|
+
mso-hansi-font-family:Garamond;mso-bidi-font-family:"Times New Roman"'>Messaging,
|
286
|
+
Malware and Mobile Anti-Abuse Working Group</span><span lang=EN-US
|
287
|
+
style='font-size:8.0pt;mso-bidi-font-family:Arial'><o:p></o:p></span></p>
|
288
|
+
|
289
|
+
<p class=MsoFooterLandscape><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:
|
290
|
+
Arial'><span style='mso-tab-count:1'> </span></span><span
|
291
|
+
lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
|
292
|
+
mso-bidi-font-family:"Times New Roman"'>P.O. Box 29920 </span><span lang=EN-US
|
293
|
+
style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:Wingdings;
|
294
|
+
color:#33A9CC'>n</span><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:
|
295
|
+
11.0pt;font-family:"Times New Roman",serif;color:#33A9CC'> </span><span
|
296
|
+
lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:11.0pt;font-family:"Arial",sans-serif;
|
297
|
+
mso-bidi-font-family:"Times New Roman"'>San Francisco, CA 94129-0920 </span><span
|
298
|
+
lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:Wingdings;
|
299
|
+
color:#33A9CC'>n</span><span lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:
|
300
|
+
11.0pt;font-family:"Times New Roman",serif;color:blue'> </span><u
|
301
|
+
style='text-underline:blue'><span lang=EN-US style='font-size:9.0pt;mso-bidi-font-size:
|
302
|
+
11.0pt;font-family:"Arial",sans-serif;mso-bidi-font-family:"Times New Roman";
|
303
|
+
color:blue'><a href="http://www.M3AAWG.org/">www.M3AAWG.org<u style='text-underline:
|
304
|
+
#000000'><span style='text-underline:#000000;text-decoration:none;text-underline:
|
305
|
+
none'> </span></u></a></span></u><span lang=EN-US style='font-size:8.0pt;
|
306
|
+
mso-bidi-font-size:11.0pt;font-family:Wingdings;color:#33A9CC'>n</span><span
|
307
|
+
lang=EN-US style='font-size:8.0pt;mso-bidi-font-size:11.0pt;font-family:"Times New Roman",serif;
|
308
|
+
color:blue'><a href="mailto:info@M3AAWG.org"><span style='text-decoration:none;
|
309
|
+
text-underline:none'> </span><span style='font-family:"Arial",sans-serif;
|
310
|
+
mso-bidi-font-family:"Times New Roman"'>info@M3AAWG.org</span></a></span><span
|
311
|
+
lang=EN-US style='font-size:8.0pt;mso-bidi-font-family:Arial'><o:p></o:p></span></p>
|
312
|
+
|
313
|
+
</div>
|
314
|
+
|
315
|
+
<p class=MsoFooterLandscape><b style='mso-bidi-font-weight:normal'><span lang=EN-US
|
316
|
+
style='font-size:8.0pt;font-family:"Garamond",serif;mso-bidi-font-family:Arial'>{{doctitle}}<span style='mso-tab-count:2'> </span><o:p></o:p></span></b></p>
|
317
|
+
|
318
|
+
</div>
|
319
|
+
|
320
|
+
<div style='mso-element:footer' id=f2>
|
321
|
+
|
322
|
+
<p class=MsoFooter>As with all M3AAWG documents that we publish, please check the M3AAWG website (<a href="http://www.m3aawg.org">www.m3aawg.org</a>) for updates to this paper.</p>
|
323
|
+
<p class=MsoFooter>© {{docyear}} copyright by the Messaging, Malware and Mobile Anti-Abuse Working Group (M3AAWG)</p>
|
324
|
+
</div>
|
325
|
+
|
326
|
+
</body>
|
327
|
+
|
328
|
+
</html>
|