asciimath2unitsml 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1745,6 +1745,7 @@
1745
1745
  dimension_url: "#NISTd15"
1746
1746
  short:
1747
1747
  root: false
1748
+ prefixed: true
1748
1749
  unit_system:
1749
1750
  type: "non-SI_acceptable"
1750
1751
  name: "non-SI"
@@ -1817,26 +1818,6 @@
1817
1818
  - name: "potential energy"
1818
1819
  url: "#NISTq77"
1819
1820
 
1820
- "NISTu132":
1821
- dimension_url: "#NISTd85"
1822
- short:
1823
- root: false
1824
- unit_system:
1825
- type: "SI_derived_non-special"
1826
- name: "SI"
1827
- unit_name:
1828
- - "one"
1829
- unit_symbols:
1830
- - id: "1"
1831
- ascii: "1"
1832
- html: "1"
1833
- mathml: "<mi mathvariant='normal'>1</mi>"
1834
- latex: \ensuremath{\mathrm{1}}
1835
- unicode: "1"
1836
- quantity_reference:
1837
- - name: "logarithmic decrement"
1838
- url: "#NISTq121"
1839
-
1840
1821
  "NISTu63":
1841
1822
  dimension_url: "#NISTd15"
1842
1823
  short: table_kg_calorie
@@ -2066,6 +2047,7 @@
2066
2047
  dimension_url: "#NISTd16"
2067
2048
  short:
2068
2049
  root: false
2050
+ prefixed: true
2069
2051
  unit_system:
2070
2052
  type: "non-SI_not_acceptable"
2071
2053
  name: "non-SI"
@@ -2418,6 +2400,7 @@
2418
2400
  dimension_url: "#NISTd14"
2419
2401
  short:
2420
2402
  root: false
2403
+ prefixed: true
2421
2404
  unit_system:
2422
2405
  type: "non-SI_not_acceptable"
2423
2406
  name: "non-SI"
@@ -3521,6 +3504,26 @@
3521
3504
  quantity_reference:
3522
3505
  - name: "refractive index"
3523
3506
  url: "#NISTq93"
3507
+ - name: "rotation"
3508
+ url: "#NISTq111"
3509
+ - name: "relative permeability"
3510
+ url: "#NISTq94"
3511
+ - name: "relative mass density"
3512
+ url: "#NISTq125"
3513
+ - name: "linear strain"
3514
+ url: "#NISTq136"
3515
+ - name: "shear strain"
3516
+ url: "#NISTq137"
3517
+ - name: "volume strain"
3518
+ url: "#NISTq138"
3519
+ - name: "Poisson number"
3520
+ url: "#NISTq140"
3521
+ - name: "dynamic friction factor"
3522
+ url: "#NISTq147"
3523
+ - name: "logarithmic decrement"
3524
+ url: "#NISTq121"
3525
+ - name: "nil"
3526
+ url: "#NISTq1002"
3524
3527
 
3525
3528
  "NISTu166":
3526
3529
  dimension_url: "#NISTd15"
@@ -4337,8 +4340,8 @@
4337
4340
  unit_symbols:
4338
4341
  - id: "deg"
4339
4342
  ascii: "deg"
4340
- html: "&#186;"
4341
- mathml: "<mi mathvariant='normal'>&#186;</mi>"
4343
+ html: "&#176;"
4344
+ mathml: "<mi mathvariant='normal'>&#176;</mi>"
4342
4345
  latex: \ensuremath{\mathrm{^{\circ}}}
4343
4346
  unicode: "º"
4344
4347
  root_units:
@@ -5053,26 +5056,6 @@
5053
5056
  - name: "volume"
5054
5057
  url: "#NISTq10"
5055
5058
 
5056
- "NISTu181":
5057
- dimension_url: "#NISTd82"
5058
- short:
5059
- root: false
5060
- unit_system:
5061
- type: "SI_derived_non-special"
5062
- name: "SI"
5063
- unit_name:
5064
- - "one"
5065
- unit_symbols:
5066
- - id: "1"
5067
- ascii: "1"
5068
- html: "1"
5069
- mathml: "<mi mathvariant='normal'>1</mi>"
5070
- latex: \ensuremath{\mathrm{1}}
5071
- unicode: "1"
5072
- quantity_reference:
5073
- - name: "rotation"
5074
- url: "#NISTq111"
5075
-
5076
5059
  "NISTu175":
5077
5060
  dimension_url: "#NISTd10"
5078
5061
  short: us_gallon
@@ -5230,26 +5213,6 @@
5230
5213
  - name: "volume"
5231
5214
  url: "#NISTq10"
5232
5215
 
5233
- "NISTu174":
5234
- dimension_url: "#NISTd81"
5235
- short:
5236
- root: false
5237
- unit_system:
5238
- type: "SI_derived_non-special"
5239
- name: "SI"
5240
- unit_name:
5241
- - "one"
5242
- unit_symbols:
5243
- - id: "1"
5244
- ascii: "1"
5245
- html: "1"
5246
- mathml: "<mi mathvariant='normal'>1</mi>"
5247
- latex: \ensuremath{\mathrm{1}}
5248
- unicode: "1"
5249
- quantity_reference:
5250
- - name: "relative permeability"
5251
- url: "#NISTq94"
5252
-
5253
5216
  "NISTu182":
5254
5217
  dimension_url: "#NISTd1"
5255
5218
  short: light_year
@@ -10021,6 +9984,7 @@
10021
9984
  dimension_url: "#NISTd56"
10022
9985
  short:
10023
9986
  root: false
9987
+ prefixed: true
10024
9988
  unit_system:
10025
9989
  type: "non-SI_not_acceptable"
10026
9990
  name: "non-SI"
@@ -10378,160 +10342,6 @@
10378
10342
  - name: "molality of solute B"
10379
10343
  url: "#NISTq179"
10380
10344
 
10381
- "NISTu368":
10382
- dimension_url: "#NISTd86"
10383
- short:
10384
- root: false
10385
- unit_system:
10386
- type: "SI_derived_non-special"
10387
- name: "SI"
10388
- unit_name:
10389
- - "one"
10390
- unit_symbols:
10391
- - id: "1"
10392
- ascii: "1"
10393
- html: "1"
10394
- mathml: "<mi mathvariant='normal'>1</mi>"
10395
- latex: \ensuremath{\mathrm{1}}
10396
- unicode: "1"
10397
- quantity_reference:
10398
- - name: "relative mass density"
10399
- url: "#NISTq125"
10400
-
10401
- "NISTu369":
10402
- dimension_url: "#NISTd87"
10403
- short:
10404
- root: false
10405
- unit_system:
10406
- type: "SI_derived_non-special"
10407
- name: "SI"
10408
- unit_name:
10409
- - "one"
10410
- unit_symbols:
10411
- - id: "1"
10412
- ascii: "1"
10413
- html: "1"
10414
- mathml: "<mi mathvariant='normal'>1</mi>"
10415
- latex: \ensuremath{\mathrm{1}}
10416
- unicode: "1"
10417
- quantity_reference:
10418
- - name: "linear strain"
10419
- url: "#NISTq136"
10420
-
10421
- "NISTu370":
10422
- dimension_url: "#NISTd88"
10423
- short:
10424
- root: false
10425
- unit_system:
10426
- type: "SI_derived_non-special"
10427
- name: "SI"
10428
- unit_name:
10429
- - "one"
10430
- unit_symbols:
10431
- - id: "1"
10432
- ascii: "1"
10433
- html: "1"
10434
- mathml: "<mi mathvariant='normal'>1</mi>"
10435
- latex: \ensuremath{\mathrm{1}}
10436
- unicode: "1"
10437
- quantity_reference:
10438
- - name: "shear strain"
10439
- url: "#NISTq137"
10440
-
10441
- "NISTu371":
10442
- dimension_url: "#NISTd89"
10443
- short:
10444
- root: false
10445
- unit_system:
10446
- type: "SI_derived_non-special"
10447
- name: "SI"
10448
- unit_name:
10449
- - "one"
10450
- unit_symbols:
10451
- - id: "1"
10452
- ascii: "1"
10453
- html: "1"
10454
- mathml: "<mi mathvariant='normal'>1</mi>"
10455
- latex: \ensuremath{\mathrm{1}}
10456
- unicode: "1"
10457
- quantity_reference:
10458
- - name: "volume strain"
10459
- url: "#NISTq138"
10460
-
10461
- "NISTu372":
10462
- dimension_url: "#NISTd90"
10463
- short:
10464
- root: false
10465
- unit_system:
10466
- type: "SI_derived_non-special"
10467
- name: "SI"
10468
- unit_name:
10469
- - "one"
10470
- unit_symbols:
10471
- - id: "1"
10472
- ascii: "1"
10473
- html: "1"
10474
- mathml: "<mi mathvariant='normal'>1</mi>"
10475
- latex: \ensuremath{\mathrm{1}}
10476
- unicode: "1"
10477
- quantity_reference:
10478
- - name: "Poisson number"
10479
- url: "#NISTq140"
10480
-
10481
- "NISTu373":
10482
- dimension_url: "#NISTd91"
10483
- short:
10484
- root: false
10485
- unit_system:
10486
- type: "SI_derived_non-special"
10487
- name: "SI"
10488
- unit_name:
10489
- - "one"
10490
- unit_symbols:
10491
- - id: "1"
10492
- ascii: "1"
10493
- html: "1"
10494
- mathml: "<mi mathvariant='normal'>1</mi>"
10495
- latex: \ensuremath{\mathrm{1}}
10496
- unicode: "1"
10497
- quantity_reference:
10498
- - name: "dynamic friction factor"
10499
- url: "#NISTq147"
10500
-
10501
- "NISTu374":
10502
- dimension_url: "#NISTd92"
10503
- short:
10504
- root: false
10505
- unit_system:
10506
- type: "SI_derived_non-special"
10507
- name: "SI"
10508
- unit_name:
10509
- - "one"
10510
- unit_symbols:
10511
- - id: "1"
10512
- ascii: "1"
10513
- html: "1"
10514
- mathml: "<mi mathvariant='normal'>1</mi>"
10515
- latex: \ensuremath{\mathrm{1}}
10516
- unicode: "1"
10517
-
10518
- "NISTu375":
10519
- dimension_url: "#NISTd93"
10520
- short:
10521
- root: false
10522
- unit_system:
10523
- type: "SI_derived_non-special"
10524
- name: "SI"
10525
- unit_name:
10526
- - "one"
10527
- unit_symbols:
10528
- - id: "1"
10529
- ascii: "1"
10530
- html: "1"
10531
- mathml: "<mi mathvariant='normal'>1</mi>"
10532
- latex: \ensuremath{\mathrm{1}}
10533
- unicode: "1"
10534
-
10535
10345
  "NISTu376":
10536
10346
  dimension_url: "#NISTd1"
10537
10347
  short: light_week
@@ -10633,7 +10443,7 @@
10633
10443
  url: "#NISTq1"
10634
10444
 
10635
10445
  "NISTu400":
10636
- dimension_url: "#NISTd85"
10446
+ dimension_url: "#NISTd80"
10637
10447
  short:
10638
10448
  root: false
10639
10449
  unit_system:
@@ -135,6 +135,7 @@ module UnitsDB
135
135
  @root = hash[:root_units][:enumerated_root_units]
136
136
  hash[:quantity_reference] and @quantities = hash[:quantity_reference].map { |x| x[:url].sub(/^#/, "") }
137
137
  hash[:si_derived_bases] and @si_derived_bases = hash[:si_derived_bases]
138
+ @prefixed = (hash[:prefixed] == true)
138
139
  rescue
139
140
  raise StandardError.new "Parse fail on Unit #{id}: #{hash}"
140
141
  end
data/spec/conv_spec.rb CHANGED
@@ -22,7 +22,7 @@ RSpec.describe Asciimath2UnitsML do
22
22
  </mrow>
23
23
  </msup>
24
24
  </mrow>
25
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_mm.s-2' dimensionURL='#NISTd28'>
25
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_mm.s-2' dimensionURL='#NISTd28'>
26
26
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
27
27
  <UnitName xml:lang='en'>mm*s^-2</UnitName>
28
28
  <UnitSymbol type='HTML'>
@@ -51,14 +51,14 @@ RSpec.describe Asciimath2UnitsML do
51
51
  <EnumeratedRootUnit unit='second' powerNumerator='-2'/>
52
52
  </RootUnits>
53
53
  </Unit>
54
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='-3' xml:id='NISTp10_-3'>
54
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-3' xml:id='NISTp10_-3'>
55
55
  <PrefixName xml:lang='en'>milli</PrefixName>
56
56
  <PrefixSymbol type='ASCII'>m</PrefixSymbol>
57
57
  <PrefixSymbol type='unicode'>m</PrefixSymbol>
58
58
  <PrefixSymbol type='LaTeX'>m</PrefixSymbol>
59
59
  <PrefixSymbol type='HTML'>m</PrefixSymbol>
60
60
  </Prefix>
61
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd28'>
61
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd28'>
62
62
  <Length symbol='L' powerNumerator='1'/>
63
63
  <Time symbol='T' powerNumerator='-2'/>
64
64
  </Dimension>
@@ -66,7 +66,7 @@ RSpec.describe Asciimath2UnitsML do
66
66
  OUTPUT
67
67
  end
68
68
 
69
- it "deals with non-Ascii units and prefixes" do
69
+ it "deals with non-Ascii units and prefixes" do
70
70
  expect(xmlpp(Asciimath2UnitsML::Conv.new().Asciimath2UnitsML(<<~INPUT))).to be_equivalent_to xmlpp(<<~OUTPUT)
71
71
  1 "unitsml(um)"
72
72
  INPUT
@@ -75,16 +75,16 @@ RSpec.describe Asciimath2UnitsML do
75
75
  <mn>1</mn>
76
76
  <mo rspace='thickmathspace'>&#x2062;</mo>
77
77
  <mrow xref='U_um'>
78
- <mi mathvariant='normal'>um</mi>
78
+ <mi mathvariant='normal'>&#xB5;m</mi>
79
79
  </mrow>
80
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_um' dimensionURL='#NISTd1'>
80
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_um' dimensionURL='#NISTd1'>
81
81
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
82
82
  <UnitName xml:lang='en'>um</UnitName>
83
83
  <UnitSymbol type='HTML'>um</UnitSymbol>
84
84
  <UnitSymbol type='MathML'>
85
85
  <math xmlns='http://www.w3.org/1998/Math/MathML'>
86
86
  <mrow>
87
- <mi mathvariant='normal'>um</mi>
87
+ <mi mathvariant='normal'>&#xB5;m</mi>
88
88
  </mrow>
89
89
  </math>
90
90
  </UnitSymbol>
@@ -92,77 +92,196 @@ RSpec.describe Asciimath2UnitsML do
92
92
  <EnumeratedRootUnit unit='meter' prefix='u'/>
93
93
  </RootUnits>
94
94
  </Unit>
95
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='-6' xml:id='NISTp10_-6'>
95
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-6' xml:id='NISTp10_-6'>
96
96
  <PrefixName xml:lang='en'>micro</PrefixName>
97
97
  <PrefixSymbol type='ASCII'>u</PrefixSymbol>
98
98
  <PrefixSymbol type='unicode'>&#x3BC;</PrefixSymbol>
99
99
  <PrefixSymbol type='LaTeX'>$mu$</PrefixSymbol>
100
- <PrefixSymbol type='HTML'>&amp;micro;</PrefixSymbol>
100
+ <PrefixSymbol type='HTML'>&#xB5;</PrefixSymbol>
101
101
  </Prefix>
102
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd1'>
102
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd1'>
103
103
  <Length symbol='L' powerNumerator='1'/>
104
104
  </Dimension>
105
105
  </math>
106
106
  OUTPUT
107
107
  end
108
108
 
109
- it "does not insert space before non-alphabetic units" do
109
+ it "does not insert space before non-alphabetic units" do
110
110
  expect(xmlpp(Asciimath2UnitsML::Conv.new().Asciimath2UnitsML(<<~INPUT))).to be_equivalent_to xmlpp(<<~OUTPUT)
111
- 1 "unitsml(degK)" + 1 "unitsml(prime)"
111
+ 1 "unitsml(degK)" + 1 "unitsml(prime)" + ii(theta) = s//r "unitsml(rad)" + 10^(12) "unitsml(Hz)"
112
112
  INPUT
113
113
  <math xmlns='http://www.w3.org/1998/Math/MathML'>
114
- <mn>1</mn>
115
- <mo rspace='thickmathspace'>&#x2062;</mo>
116
- <mrow xref='U_NISTu5'>
117
- <mi mathvariant='normal'>&#xB0;K</mi>
118
- </mrow>
119
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_NISTu5' dimensionURL='#NISTd5'>
120
- <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
121
- <UnitName xml:lang='en'>kelvin</UnitName>
122
- <UnitSymbol type='HTML'>K</UnitSymbol>
123
- <UnitSymbol type='MathML'>
124
- <math xmlns='http://www.w3.org/1998/Math/MathML'>
125
- <mrow>
126
- <mi mathvariant='normal'>K</mi>
127
- </mrow>
128
- </math>
129
- </UnitSymbol>
130
- </Unit>
131
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd5'>
132
- <ThermodynamicTemperature symbol='Theta' powerNumerator='1'/>
133
- </Dimension>
134
- <Quantity xmlns='http://unitsml.nist.gov/2005' xml:id='NISTq5' dimensionURL='#NISTd5' quantityType='base'>
135
- <QuantityName xml:lang='en-US'>thermodynamic temperature</QuantityName>
136
- </Quantity>
137
- <mo>+</mo>
138
- <mn>1</mn>
139
- <mo>&#x2062;</mo>
140
- <mrow xref='U_NISTu147'>
141
- <mi mathvariant='normal'>&#x2032;</mi>
142
- </mrow>
143
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_NISTu147'>
144
- <UnitSystem name='not_SI' type='not_SI' xml:lang='en-US'/>
145
- <UnitName xml:lang='en'>minute (minute of arc)</UnitName>
146
- <UnitSymbol type='HTML'>&#x2032;</UnitSymbol>
147
- <UnitSymbol type='MathML'>
148
- <math xmlns='http://www.w3.org/1998/Math/MathML'>
149
- <mrow>
150
- <mi mathvariant='normal'>&#x2032;</mi>
151
- </mrow>
152
- </math>
153
- </UnitSymbol>
154
- </Unit>
155
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd9'>
156
- <PlaneAngle symbol='Phi' powerNumerator='1'/>
157
- </Dimension>
158
- <Quantity xmlns='http://unitsml.nist.gov/2005' xml:id='NISTq9' dimensionURL='#NISTd9' quantityType='base'>
159
- <QuantityName xml:lang='en-US'>plane angle</QuantityName>
160
- <QuantityName xml:lang='en-US'>angle</QuantityName>
161
- </Quantity>
162
- </math>
114
+ <mn>1</mn>
115
+ <mo rspace='thickmathspace'>&#x2062;</mo>
116
+ <mrow xref='U_NISTu5'>
117
+ <mi mathvariant='normal'>&#xB0;K</mi>
118
+ </mrow>
119
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu5' dimensionURL='#NISTd5'>
120
+ <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
121
+ <UnitName xml:lang='en'>kelvin</UnitName>
122
+ <UnitSymbol type='HTML'>K</UnitSymbol>
123
+ <UnitSymbol type='MathML'>
124
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
125
+ <mrow>
126
+ <mi mathvariant='normal'>K</mi>
127
+ </mrow>
128
+ </math>
129
+ </UnitSymbol>
130
+ </Unit>
131
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd5'>
132
+ <ThermodynamicTemperature symbol='Theta' powerNumerator='1'/>
133
+ </Dimension>
134
+ <Quantity xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTq5' dimensionURL='#NISTd5' quantityType='base'>
135
+ <QuantityName xml:lang='en-US'>thermodynamic temperature</QuantityName>
136
+ </Quantity>
137
+ <mo>+</mo>
138
+ <mn>1</mn>
139
+ <mo>&#x2062;</mo>
140
+ <mrow xref='U_NISTu147'>
141
+ <mi mathvariant='normal'>&#x2032;</mi>
142
+ </mrow>
143
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu147'>
144
+ <UnitSystem name='not_SI' type='not_SI' xml:lang='en-US'/>
145
+ <UnitName xml:lang='en'>minute (minute of arc)</UnitName>
146
+ <UnitSymbol type='HTML'>&#x2032;</UnitSymbol>
147
+ <UnitSymbol type='MathML'>
148
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
149
+ <mrow>
150
+ <mi mathvariant='normal'>&#x2032;</mi>
151
+ </mrow>
152
+ </math>
153
+ </UnitSymbol>
154
+ </Unit>
155
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd9'>
156
+ <PlaneAngle symbol='Phi' powerNumerator='1'/>
157
+ </Dimension>
158
+ <Quantity xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTq9' dimensionURL='#NISTd9' quantityType='base'>
159
+ <QuantityName xml:lang='en-US'>plane angle</QuantityName>
160
+ <QuantityName xml:lang='en-US'>angle</QuantityName>
161
+ </Quantity>
162
+ <mo>+</mo>
163
+ <mstyle mathvariant='italic'>
164
+ <mi>&#x3B8;</mi>
165
+ </mstyle>
166
+ <mo>=</mo>
167
+ <mi>s</mi>
168
+ <mo>/</mo>
169
+ <mi>r</mi>
170
+ <mo rspace='thickmathspace'>&#x2062;</mo>
171
+ <mrow xref='U_NISTu9'>
172
+ <mi mathvariant='normal'>rad</mi>
173
+ </mrow>
174
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu9' dimensionURL='#D_L0'>
175
+ <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
176
+ <UnitName xml:lang='en'>radian</UnitName>
177
+ <UnitSymbol type='HTML'>rad</UnitSymbol>
178
+ <UnitSymbol type='MathML'>
179
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
180
+ <mrow>
181
+ <mi mathvariant='normal'>rad</mi>
182
+ </mrow>
183
+ </math>
184
+ </UnitSymbol>
185
+ </Unit>
186
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='D_L0'>
187
+ <Length symbol='L' powerNumerator='0'/>
188
+ </Dimension>
189
+ <mo>+</mo>
190
+ <msup>
191
+ <mrow>
192
+ <mn>10</mn>
193
+ </mrow>
194
+ <mrow>
195
+ <mn>12</mn>
196
+ </mrow>
197
+ </msup>
198
+ <mo rspace='thickmathspace'>&#x2062;</mo>
199
+ <mrow xref='U_NISTu31'>
200
+ <mi mathvariant='normal'>Hz</mi>
201
+ </mrow>
202
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu31' dimensionURL='#NISTd24'>
203
+ <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
204
+ <UnitName xml:lang='en'>hertz</UnitName>
205
+ <UnitSymbol type='HTML'>Hz</UnitSymbol>
206
+ <UnitSymbol type='MathML'>
207
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
208
+ <mrow>
209
+ <mi mathvariant='normal'>Hz</mi>
210
+ </mrow>
211
+ </math>
212
+ </UnitSymbol>
213
+ </Unit>
214
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd24'>
215
+ <Time symbol='T' powerNumerator='-1'/>
216
+ </Dimension>
217
+ <Quantity xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTq45' dimensionURL='#NISTd24' quantityType='base'>
218
+ <QuantityName xml:lang='en-US'>frequency</QuantityName>
219
+ </Quantity>
220
+ </math>
163
221
  OUTPUT
164
222
  end
165
223
 
224
+ it "does not insert space before operators" do
225
+ expect(xmlpp(Asciimath2UnitsML::Conv.new().Asciimath2UnitsML(<<~INPUT))).to be_equivalent_to xmlpp(<<~OUTPUT)
226
+ 8 "unitsml(kg)" cdot "unitsml(m)"
227
+ INPUT
228
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
229
+ <mn>8</mn>
230
+ <mo rspace='thickmathspace'>&#x2062;</mo>
231
+ <mrow xref='U_NISTu2'>
232
+ <mi mathvariant='normal'>kg</mi>
233
+ </mrow>
234
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu2' dimensionURL='#NISTd2'>
235
+ <UnitSystem name='SI' type='SI_base' xml:lang='en-US'/>
236
+ <UnitName xml:lang='en'>kilogram</UnitName>
237
+ <UnitSymbol type='HTML'>kg</UnitSymbol>
238
+ <UnitSymbol type='MathML'>
239
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
240
+ <mrow>
241
+ <mi mathvariant='normal'>kg</mi>
242
+ </mrow>
243
+ </math>
244
+ </UnitSymbol>
245
+ <RootUnits>
246
+ <EnumeratedRootUnit unit='gram' prefix='k'/>
247
+ </RootUnits>
248
+ </Unit>
249
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
250
+ <PrefixName xml:lang='en'>kilo</PrefixName>
251
+ <PrefixSymbol type='ASCII'>k</PrefixSymbol>
252
+ <PrefixSymbol type='unicode'>k</PrefixSymbol>
253
+ <PrefixSymbol type='LaTeX'>k</PrefixSymbol>
254
+ <PrefixSymbol type='HTML'>k</PrefixSymbol>
255
+ </Prefix>
256
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd2'>
257
+ <Mass symbol='M' powerNumerator='1'/>
258
+ </Dimension>
259
+ <Quantity xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTq2' dimensionURL='#NISTd2' quantityType='base'>
260
+ <QuantityName xml:lang='en-US'>mass</QuantityName>
261
+ </Quantity>
262
+ <mo>&#x22C5;</mo>
263
+ <mrow xref='U_NISTu1'>
264
+ <mi mathvariant='normal'>m</mi>
265
+ </mrow>
266
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu1' dimensionURL='#NISTd1'>
267
+ <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
268
+ <UnitName xml:lang='en'>meter</UnitName>
269
+ <UnitSymbol type='HTML'>m</UnitSymbol>
270
+ <UnitSymbol type='MathML'>
271
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
272
+ <mrow>
273
+ <mi mathvariant='normal'>m</mi>
274
+ </mrow>
275
+ </math>
276
+ </UnitSymbol>
277
+ </Unit>
278
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd1'>
279
+ <Length symbol='L' powerNumerator='1'/>
280
+ </Dimension>
281
+ </math>
282
+ OUTPUT
283
+ end
284
+
166
285
  it "deals with sqrt units" do
167
286
  expect(xmlpp(Asciimath2UnitsML::Conv.new().Asciimath2UnitsML(<<~INPUT))).to be_equivalent_to xmlpp(<<~OUTPUT)
168
287
  1 "unitsml(sqrt(Hz))"
@@ -175,7 +294,7 @@ OUTPUT
175
294
  <mi mathvariant='normal'>Hz</mi>
176
295
  </msqrt>
177
296
  </mrow>
178
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_Hz0.5' dimensionURL='#D_T-0.5'>
297
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_Hz0.5' dimensionURL='#D_T-0.5'>
179
298
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
180
299
  <UnitName xml:lang='en'>Hz^0.5</UnitName>
181
300
  <UnitSymbol type='HTML'>&#x221A;Hz</UnitSymbol>
@@ -189,7 +308,7 @@ OUTPUT
189
308
  </math>
190
309
  </UnitSymbol>
191
310
  </Unit>
192
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='D_T-0.5'>
311
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='D_T-0.5'>
193
312
  <Time symbol='T' powerNumerator='-0.5'/>
194
313
  </Dimension>
195
314
  </math>
@@ -206,7 +325,7 @@ OUTPUT
206
325
  <mrow xref='U_NISTu2'>
207
326
  <mi mathvariant='normal'>kg</mi>
208
327
  </mrow>
209
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_NISTu2' dimensionURL='#NISTd2'>
328
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu2' dimensionURL='#NISTd2'>
210
329
  <UnitSystem name='SI' type='SI_base' xml:lang='en-US'/>
211
330
  <UnitName xml:lang='en'>kilogram</UnitName>
212
331
  <UnitSymbol type='HTML'>kg</UnitSymbol>
@@ -221,17 +340,17 @@ OUTPUT
221
340
  <EnumeratedRootUnit unit='gram' prefix='k'/>
222
341
  </RootUnits>
223
342
  </Unit>
224
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
343
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
225
344
  <PrefixName xml:lang='en'>kilo</PrefixName>
226
345
  <PrefixSymbol type='ASCII'>k</PrefixSymbol>
227
346
  <PrefixSymbol type='unicode'>k</PrefixSymbol>
228
347
  <PrefixSymbol type='LaTeX'>k</PrefixSymbol>
229
348
  <PrefixSymbol type='HTML'>k</PrefixSymbol>
230
349
  </Prefix>
231
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd2'>
350
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd2'>
232
351
  <Mass symbol='M' powerNumerator='1'/>
233
352
  </Dimension>
234
- <Quantity xmlns='http://unitsml.nist.gov/2005' xml:id='NISTq2' dimensionURL='#NISTd2' quantityType='base'>
353
+ <Quantity xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTq2' dimensionURL='#NISTd2' quantityType='base'>
235
354
  <QuantityName xml:lang='en-US'>mass</QuantityName>
236
355
  </Quantity>
237
356
  <mo>+</mo>
@@ -240,7 +359,7 @@ OUTPUT
240
359
  <mrow xref='U_NISTu27'>
241
360
  <mi mathvariant='normal'>g</mi>
242
361
  </mrow>
243
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_NISTu27' dimensionURL='#NISTd2'>
362
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu27' dimensionURL='#NISTd2'>
244
363
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
245
364
  <UnitName xml:lang='en'>gram</UnitName>
246
365
  <UnitSymbol type='HTML'>g</UnitSymbol>
@@ -266,7 +385,7 @@ OUTPUT
266
385
  <mrow xref='U_NISTu284'>
267
386
  <mi mathvariant='normal'>hp</mi>
268
387
  </mrow>
269
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_NISTu284'>
388
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu284'>
270
389
  <UnitSystem name='not_SI' type='not_SI' xml:lang='en-US'/>
271
390
  <UnitName xml:lang='en'>horsepower</UnitName>
272
391
  <UnitSymbol type='HTML'>hp</UnitSymbol>
@@ -278,12 +397,12 @@ OUTPUT
278
397
  </math>
279
398
  </UnitSymbol>
280
399
  </Unit>
281
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd16'>
400
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd16'>
282
401
  <Length symbol='L' powerNumerator='2'/>
283
402
  <Mass symbol='M' powerNumerator='1'/>
284
403
  <Time symbol='T' powerNumerator='-3'/>
285
404
  </Dimension>
286
- <Quantity xmlns='http://unitsml.nist.gov/2005' xml:id='NISTq20' dimensionURL='#NISTd16' quantityType='base'>
405
+ <Quantity xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTq20' dimensionURL='#NISTd16' quantityType='base'>
287
406
  <QuantityName xml:lang='en-US'>power</QuantityName>
288
407
  </Quantity>
289
408
  </math>
@@ -310,7 +429,7 @@ OUTPUT
310
429
  </mrow>
311
430
  </msup>
312
431
  </mrow>
313
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_kg.s-2' dimensionURL='#NISTd37'>
432
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_kg.s-2' dimensionURL='#NISTd37'>
314
433
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
315
434
  <UnitName xml:lang='en'>kg*s^-2</UnitName>
316
435
  <UnitSymbol type='HTML'>
@@ -339,14 +458,14 @@ OUTPUT
339
458
  <EnumeratedRootUnit unit='second' powerNumerator='-2'/>
340
459
  </RootUnits>
341
460
  </Unit>
342
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
461
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
343
462
  <PrefixName xml:lang='en'>kilo</PrefixName>
344
463
  <PrefixSymbol type='ASCII'>k</PrefixSymbol>
345
464
  <PrefixSymbol type='unicode'>k</PrefixSymbol>
346
465
  <PrefixSymbol type='LaTeX'>k</PrefixSymbol>
347
466
  <PrefixSymbol type='HTML'>k</PrefixSymbol>
348
467
  </Prefix>
349
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd37'>
468
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd37'>
350
469
  <Mass symbol='M' powerNumerator='1'/>
351
470
  <Time symbol='T' powerNumerator='-2'/>
352
471
  </Dimension>
@@ -380,7 +499,7 @@ INPUT
380
499
  <mrow xref='U_NISTu5'>
381
500
  <mi mathvariant='normal'>&#xB0;K</mi>
382
501
  </mrow>
383
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_NISTu5' dimensionURL='#NISTd5'>
502
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu5' dimensionURL='#NISTd5'>
384
503
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
385
504
  <UnitName xml:lang='en'>kelvin</UnitName>
386
505
  <UnitSymbol type='HTML'>K</UnitSymbol>
@@ -392,10 +511,10 @@ INPUT
392
511
  </math>
393
512
  </UnitSymbol>
394
513
  </Unit>
395
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd5'>
514
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd5'>
396
515
  <ThermodynamicTemperature symbol='Theta' powerNumerator='1'/>
397
516
  </Dimension>
398
- <Quantity xmlns='http://unitsml.nist.gov/2005' xml:id='NISTq5' dimensionURL='#NISTd5' quantityType='base'>
517
+ <Quantity xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTq5' dimensionURL='#NISTd5' quantityType='base'>
399
518
  <QuantityName xml:lang='en-US'>thermodynamic temperature</QuantityName>
400
519
  </Quantity>
401
520
  <mo>+</mo>
@@ -418,7 +537,7 @@ INPUT
418
537
  <mrow xref='U_NISTu362'>
419
538
  <mi mathvariant='normal'>mbar</mi>
420
539
  </mrow>
421
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_NISTu362'>
540
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu362'>
422
541
  <UnitSystem name='not_SI' type='not_SI' xml:lang='en-US'/>
423
542
  <UnitName xml:lang='en'>millibar</UnitName>
424
543
  <UnitSymbol type='HTML'>mbar</UnitSymbol>
@@ -433,14 +552,14 @@ INPUT
433
552
  <EnumeratedRootUnit unit='bar' prefix='m'/>
434
553
  </RootUnits>
435
554
  </Unit>
436
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='-3' xml:id='NISTp10_-3'>
555
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-3' xml:id='NISTp10_-3'>
437
556
  <PrefixName xml:lang='en'>milli</PrefixName>
438
557
  <PrefixSymbol type='ASCII'>m</PrefixSymbol>
439
558
  <PrefixSymbol type='unicode'>m</PrefixSymbol>
440
559
  <PrefixSymbol type='LaTeX'>m</PrefixSymbol>
441
560
  <PrefixSymbol type='HTML'>m</PrefixSymbol>
442
561
  </Prefix>
443
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd14'>
562
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd14'>
444
563
  <Length symbol='L' powerNumerator='-1'/>
445
564
  <Mass symbol='M' powerNumerator='1'/>
446
565
  <Time symbol='T' powerNumerator='-2'/>
@@ -457,17 +576,18 @@ OUTPUT
457
576
  <mrow xref='NISTp10_-12'>
458
577
  <mi mathvariant='normal'>p</mi>
459
578
  </mrow>
460
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='-12' xml:id='NISTp10_-12'>
579
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-12' xml:id='NISTp10_-12'>
461
580
  <PrefixName xml:lang='en'>pico</PrefixName>
462
581
  <PrefixSymbol type='ASCII'>p</PrefixSymbol>
463
582
  <PrefixSymbol type='unicode'>p</PrefixSymbol>
464
583
  <PrefixSymbol type='LaTeX'>p</PrefixSymbol>
465
584
  <PrefixSymbol type='HTML'>p</PrefixSymbol>
466
585
  </Prefix>
586
+ <mo rspace='thickmathspace'>&#x2062;</mo>
467
587
  <mrow xref='NISTp10_1'>
468
588
  <mi mathvariant='normal'>da</mi>
469
589
  </mrow>
470
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='1' xml:id='NISTp10_1'>
590
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='1' xml:id='NISTp10_1'>
471
591
  <PrefixName xml:lang='en'>deka</PrefixName>
472
592
  <PrefixSymbol type='ASCII'>da</PrefixSymbol>
473
593
  <PrefixSymbol type='unicode'>da</PrefixSymbol>
@@ -478,6 +598,53 @@ OUTPUT
478
598
  OUTPUT
479
599
  end
480
600
 
601
+ it "deals with HTML entities in UnitsDB" do
602
+ expect(xmlpp(Asciimath2UnitsML::Conv.new().Asciimath2UnitsML(<<~INPUT))).to be_equivalent_to xmlpp(<<~OUTPUT)
603
+ "unitsml(u-)" + "unitsml(um)"
604
+ INPUT
605
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
606
+ <mrow xref='NISTp10_-6'>
607
+ <mi mathvariant='normal'>&#xB5;</mi>
608
+ </mrow>
609
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-6' xml:id='NISTp10_-6'>
610
+ <PrefixName xml:lang='en'>micro</PrefixName>
611
+ <PrefixSymbol type='ASCII'>u</PrefixSymbol>
612
+ <PrefixSymbol type='unicode'>&#x3BC;</PrefixSymbol>
613
+ <PrefixSymbol type='LaTeX'>$mu$</PrefixSymbol>
614
+ <PrefixSymbol type='HTML'>&#xB5;</PrefixSymbol>
615
+ </Prefix>
616
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd2'>
617
+ <Mass symbol='M' powerNumerator='1'/>
618
+ </Dimension>
619
+ <Quantity xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTq2' dimensionURL='#NISTd2' quantityType='base'>
620
+ <QuantityName xml:lang='en-US'>mass</QuantityName>
621
+ </Quantity>
622
+ <mo>+</mo>
623
+ <mrow xref='U_um'>
624
+ <mi mathvariant='normal'>&#xB5;m</mi>
625
+ </mrow>
626
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_um' dimensionURL='#NISTd1'>
627
+ <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
628
+ <UnitName xml:lang='en'>um</UnitName>
629
+ <UnitSymbol type='HTML'>um</UnitSymbol>
630
+ <UnitSymbol type='MathML'>
631
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
632
+ <mrow>
633
+ <mi mathvariant='normal'>&#xB5;m</mi>
634
+ </mrow>
635
+ </math>
636
+ </UnitSymbol>
637
+ <RootUnits>
638
+ <EnumeratedRootUnit unit='meter' prefix='u'/>
639
+ </RootUnits>
640
+ </Unit>
641
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd1'>
642
+ <Length symbol='L' powerNumerator='1'/>
643
+ </Dimension>
644
+ </math>
645
+ OUTPUT
646
+ end
647
+
481
648
  it "deals with units division" do
482
649
  expect(xmlpp(Asciimath2UnitsML::Conv.new().Asciimath2UnitsML(<<~INPUT))).to be_equivalent_to xmlpp(<<~OUTPUT)
483
650
  9 "unitsml(A*C^3)" + 13 "unitsml(A/C^-3)"
@@ -497,7 +664,7 @@ INPUT
497
664
  </mrow>
498
665
  </msup>
499
666
  </mrow>
500
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_A.C3' dimensionURL='#D_M3I4'>
667
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_A.C3' dimensionURL='#D_M3I4'>
501
668
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
502
669
  <UnitName xml:lang='en'>A*C^3</UnitName>
503
670
  <UnitSymbol type='HTML'>
@@ -525,7 +692,7 @@ INPUT
525
692
  <EnumeratedRootUnit unit='coulomb' powerNumerator='3'/>
526
693
  </RootUnits>
527
694
  </Unit>
528
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='D_M3I4'>
695
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='D_M3I4'>
529
696
  <Mass symbol='M' powerNumerator='3'/>
530
697
  <ElectricCurrent symbol='I' powerNumerator='4'/>
531
698
  </Dimension>
@@ -579,7 +746,7 @@ OUTPUT
579
746
  </mrow>
580
747
  </msup>
581
748
  </mrow>
582
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_kg-2' dimensionURL='#D_M-2'>
749
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_kg-2' dimensionURL='#D_M-2'>
583
750
  <UnitSystem name='SI' type='SI_base' xml:lang='en-US'/>
584
751
  <UnitName xml:lang='en'>kg^-2</UnitName>
585
752
  <UnitSymbol type='HTML'>
@@ -605,14 +772,14 @@ OUTPUT
605
772
  <EnumeratedRootUnit unit='gram' prefix='k' powerNumerator='-2'/>
606
773
  </RootUnits>
607
774
  </Unit>
608
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
775
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
609
776
  <PrefixName xml:lang='en'>kilo</PrefixName>
610
777
  <PrefixSymbol type='ASCII'>k</PrefixSymbol>
611
778
  <PrefixSymbol type='unicode'>k</PrefixSymbol>
612
779
  <PrefixSymbol type='LaTeX'>k</PrefixSymbol>
613
780
  <PrefixSymbol type='HTML'>k</PrefixSymbol>
614
781
  </Prefix>
615
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='D_M-2'>
782
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='D_M-2'>
616
783
  <Mass symbol='M' powerNumerator='-2'/>
617
784
  </Dimension>
618
785
  </math>
@@ -647,7 +814,7 @@ OUTPUT
647
814
  </mrow>
648
815
  </msup>
649
816
  </mrow>
650
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_kg.s-2' dimensionURL='#NISTd37'>
817
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_kg.s-2' dimensionURL='#NISTd37'>
651
818
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
652
819
  <UnitName xml:lang='en'>kg*s^-2</UnitName>
653
820
  <UnitSymbol type='HTML'>
@@ -676,14 +843,14 @@ OUTPUT
676
843
  <EnumeratedRootUnit unit='second' powerNumerator='-2'/>
677
844
  </RootUnits>
678
845
  </Unit>
679
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
846
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
680
847
  <PrefixName xml:lang='en'>kilo</PrefixName>
681
848
  <PrefixSymbol type='ASCII'>k</PrefixSymbol>
682
849
  <PrefixSymbol type='unicode'>k</PrefixSymbol>
683
850
  <PrefixSymbol type='LaTeX'>k</PrefixSymbol>
684
851
  <PrefixSymbol type='HTML'>k</PrefixSymbol>
685
852
  </Prefix>
686
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd37'>
853
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd37'>
687
854
  <Mass symbol='M' powerNumerator='1'/>
688
855
  <Time symbol='T' powerNumerator='-2'/>
689
856
  </Dimension>
@@ -708,7 +875,7 @@ OUTPUT
708
875
  </mrow>
709
876
  </msup>
710
877
  </mrow>
711
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_kg.s-2' dimensionURL='#NISTd37'>
878
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_kg.s-2' dimensionURL='#NISTd37'>
712
879
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
713
880
  <UnitName xml:lang='en'>kg*s^-2</UnitName>
714
881
  <UnitSymbol type='HTML'>
@@ -737,14 +904,14 @@ OUTPUT
737
904
  <EnumeratedRootUnit unit='second' powerNumerator='-2'/>
738
905
  </RootUnits>
739
906
  </Unit>
740
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
907
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
741
908
  <PrefixName xml:lang='en'>kilo</PrefixName>
742
909
  <PrefixSymbol type='ASCII'>k</PrefixSymbol>
743
910
  <PrefixSymbol type='unicode'>k</PrefixSymbol>
744
911
  <PrefixSymbol type='LaTeX'>k</PrefixSymbol>
745
912
  <PrefixSymbol type='HTML'>k</PrefixSymbol>
746
913
  </Prefix>
747
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd37'>
914
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd37'>
748
915
  <Mass symbol='M' powerNumerator='1'/>
749
916
  <Time symbol='T' powerNumerator='-2'/>
750
917
  </Dimension>
@@ -769,7 +936,7 @@ OUTPUT
769
936
  </mrow>
770
937
  </msup>
771
938
  </mrow>
772
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_kg.s-2' dimensionURL='#NISTd37'>
939
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_kg.s-2' dimensionURL='#NISTd37'>
773
940
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
774
941
  <UnitName xml:lang='en'>kg*s^-2</UnitName>
775
942
  <UnitSymbol type='HTML'>
@@ -798,14 +965,14 @@ OUTPUT
798
965
  <EnumeratedRootUnit unit='second' powerNumerator='-2'/>
799
966
  </RootUnits>
800
967
  </Unit>
801
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
968
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='3' xml:id='NISTp10_3'>
802
969
  <PrefixName xml:lang='en'>kilo</PrefixName>
803
970
  <PrefixSymbol type='ASCII'>k</PrefixSymbol>
804
971
  <PrefixSymbol type='unicode'>k</PrefixSymbol>
805
972
  <PrefixSymbol type='LaTeX'>k</PrefixSymbol>
806
973
  <PrefixSymbol type='HTML'>k</PrefixSymbol>
807
974
  </Prefix>
808
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd37'>
975
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd37'>
809
976
  <Mass symbol='M' powerNumerator='1'/>
810
977
  <Time symbol='T' powerNumerator='-2'/>
811
978
  </Dimension>
@@ -833,7 +1000,7 @@ INPUT
833
1000
  </mrow>
834
1001
  </msup>
835
1002
  </mrow>
836
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_mW.cm-2'>
1003
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_mW.cm-2'>
837
1004
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
838
1005
  <UnitName xml:lang='en'>mW*cm^-2</UnitName>
839
1006
  <UnitSymbol type='HTML'>
@@ -862,14 +1029,14 @@ INPUT
862
1029
  <EnumeratedRootUnit unit='meter' prefix='c' powerNumerator='-2'/>
863
1030
  </RootUnits>
864
1031
  </Unit>
865
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='-3' xml:id='NISTp10_-3'>
1032
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-3' xml:id='NISTp10_-3'>
866
1033
  <PrefixName xml:lang='en'>milli</PrefixName>
867
1034
  <PrefixSymbol type='ASCII'>m</PrefixSymbol>
868
1035
  <PrefixSymbol type='unicode'>m</PrefixSymbol>
869
1036
  <PrefixSymbol type='LaTeX'>m</PrefixSymbol>
870
1037
  <PrefixSymbol type='HTML'>m</PrefixSymbol>
871
1038
  </Prefix>
872
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='-2' xml:id='NISTp10_-2'>
1039
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-2' xml:id='NISTp10_-2'>
873
1040
  <PrefixName xml:lang='en'>centi</PrefixName>
874
1041
  <PrefixSymbol type='ASCII'>c</PrefixSymbol>
875
1042
  <PrefixSymbol type='unicode'>c</PrefixSymbol>
@@ -890,7 +1057,7 @@ INPUT
890
1057
  <mrow xref='U_NISTu1'>
891
1058
  <mi mathvariant='normal'>m</mi>
892
1059
  </mrow>
893
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_NISTu1' dimensionURL='#NISTd1'>
1060
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu1' dimensionURL='#NISTd1'>
894
1061
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
895
1062
  <UnitName xml:lang='en'>meter</UnitName>
896
1063
  <UnitSymbol type='HTML'>m</UnitSymbol>
@@ -902,10 +1069,10 @@ INPUT
902
1069
  </math>
903
1070
  </UnitSymbol>
904
1071
  </Unit>
905
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd1'>
1072
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd1'>
906
1073
  <Length symbol='L' powerNumerator='1'/>
907
1074
  </Dimension>
908
- <Quantity xmlns='http://unitsml.nist.gov/2005' xml:id='NISTq103' dimensionURL='#NISTd1' quantityType='base'>
1075
+ <Quantity xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTq103' dimensionURL='#NISTd1' quantityType='base'>
909
1076
  <QuantityName xml:lang='en-US'>position vector</QuantityName>
910
1077
  </Quantity>
911
1078
  </math>
@@ -938,7 +1105,7 @@ INPUT
938
1105
  </mrow>
939
1106
  </msup>
940
1107
  </mrow>
941
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_cal_th.cm-2'>
1108
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_cal_th.cm-2'>
942
1109
  <UnitSystem name='not_SI' type='not_SI' xml:lang='en-US'/>
943
1110
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
944
1111
  <UnitName xml:lang='en'>langley</UnitName>
@@ -977,7 +1144,7 @@ INPUT
977
1144
  <EnumeratedRootUnit unit='meter' prefix='c' powerNumerator='-2'/>
978
1145
  </RootUnits>
979
1146
  </Unit>
980
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='-2' xml:id='NISTp10_-2'>
1147
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-2' xml:id='NISTp10_-2'>
981
1148
  <PrefixName xml:lang='en'>centi</PrefixName>
982
1149
  <PrefixSymbol type='ASCII'>c</PrefixSymbol>
983
1150
  <PrefixSymbol type='unicode'>c</PrefixSymbol>
@@ -1001,7 +1168,7 @@ INPUT
1001
1168
  <mi mathvariant='normal'>a</mi>
1002
1169
  </math>
1003
1170
  </mrow>
1004
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_NISTu1' dimensionURL='#NISTd1'>
1171
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_NISTu1' dimensionURL='#NISTd1'>
1005
1172
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
1006
1173
  <UnitName xml:lang='en'>meter</UnitName>
1007
1174
  <UnitSymbol type='HTML'>m</UnitSymbol>
@@ -1013,7 +1180,7 @@ INPUT
1013
1180
  </math>
1014
1181
  </UnitSymbol>
1015
1182
  </Unit>
1016
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd1'>
1183
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd1'>
1017
1184
  <Length symbol='L' powerNumerator='1'/>
1018
1185
  </Dimension>
1019
1186
  <mo>+</mo>
@@ -1035,7 +1202,7 @@ INPUT
1035
1202
  <mn>2</mn>
1036
1203
  </math>
1037
1204
  </mrow>
1038
- <Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_cm.s-2' dimensionURL='#NISTd28'>
1205
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_cm.s-2' dimensionURL='#NISTd28'>
1039
1206
  <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
1040
1207
  <UnitName xml:lang='en'>cm*s^-2</UnitName>
1041
1208
  <UnitSymbol type='HTML'>
@@ -1064,14 +1231,14 @@ INPUT
1064
1231
  <EnumeratedRootUnit unit='second' powerNumerator='-2'/>
1065
1232
  </RootUnits>
1066
1233
  </Unit>
1067
- <Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='-2' xml:id='NISTp10_-2'>
1234
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-2' xml:id='NISTp10_-2'>
1068
1235
  <PrefixName xml:lang='en'>centi</PrefixName>
1069
1236
  <PrefixSymbol type='ASCII'>c</PrefixSymbol>
1070
1237
  <PrefixSymbol type='unicode'>c</PrefixSymbol>
1071
1238
  <PrefixSymbol type='LaTeX'>c</PrefixSymbol>
1072
1239
  <PrefixSymbol type='HTML'>c</PrefixSymbol>
1073
1240
  </Prefix>
1074
- <Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd28'>
1241
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd28'>
1075
1242
  <Length symbol='L' powerNumerator='1'/>
1076
1243
  <Time symbol='T' powerNumerator='-2'/>
1077
1244
  </Dimension>
@@ -1079,5 +1246,68 @@ INPUT
1079
1246
  OUTPUT
1080
1247
  end
1081
1248
 
1249
+ it "deals with multiplier input" do
1250
+ expect(xmlpp(Asciimath2UnitsML::Conv.new().Asciimath2UnitsML(<<~INPUT))).to be_equivalent_to xmlpp(<<~OUTPUT)
1251
+ 10 "unitsml(cm*s^-2, multiplier: xx)"
1252
+ INPUT
1253
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
1254
+ <mn>10</mn>
1255
+ <mo rspace='thickmathspace'>&#x2062;</mo>
1256
+ <mrow xref='U_cm.s-2'>
1257
+ <mi mathvariant='normal'>cm</mi>
1258
+ <mo>xx</mo>
1259
+ <msup>
1260
+ <mrow>
1261
+ <mi mathvariant='normal'>s</mi>
1262
+ </mrow>
1263
+ <mrow>
1264
+ <mo>&#x2212;</mo>
1265
+ <mn>2</mn>
1266
+ </mrow>
1267
+ </msup>
1268
+ </mrow>
1269
+ <Unit xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='U_cm.s-2' dimensionURL='#NISTd28'>
1270
+ <UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
1271
+ <UnitName xml:lang='en'>cm*s^-2</UnitName>
1272
+ <UnitSymbol type='HTML'>
1273
+ cm&#xB7;s
1274
+ <sup>&#x2212;2</sup>
1275
+ </UnitSymbol>
1276
+ <UnitSymbol type='MathML'>
1277
+ <math xmlns='http://www.w3.org/1998/Math/MathML'>
1278
+ <mrow>
1279
+ <mi mathvariant='normal'>cm</mi>
1280
+ <mo>&#xB7;</mo>
1281
+ <msup>
1282
+ <mrow>
1283
+ <mi mathvariant='normal'>s</mi>
1284
+ </mrow>
1285
+ <mrow>
1286
+ <mo>&#x2212;</mo>
1287
+ <mn>2</mn>
1288
+ </mrow>
1289
+ </msup>
1290
+ </mrow>
1291
+ </math>
1292
+ </UnitSymbol>
1293
+ <RootUnits>
1294
+ <EnumeratedRootUnit unit='meter' prefix='c'/>
1295
+ <EnumeratedRootUnit unit='second' powerNumerator='-2'/>
1296
+ </RootUnits>
1297
+ </Unit>
1298
+ <Prefix xmlns='https://schema.unitsml.org/unitsml/1.0' prefixBase='10' prefixPower='-2' xml:id='NISTp10_-2'>
1299
+ <PrefixName xml:lang='en'>centi</PrefixName>
1300
+ <PrefixSymbol type='ASCII'>c</PrefixSymbol>
1301
+ <PrefixSymbol type='unicode'>c</PrefixSymbol>
1302
+ <PrefixSymbol type='LaTeX'>c</PrefixSymbol>
1303
+ <PrefixSymbol type='HTML'>c</PrefixSymbol>
1304
+ </Prefix>
1305
+ <Dimension xmlns='https://schema.unitsml.org/unitsml/1.0' xml:id='NISTd28'>
1306
+ <Length symbol='L' powerNumerator='1'/>
1307
+ <Time symbol='T' powerNumerator='-2'/>
1308
+ </Dimension>
1309
+ </math>
1310
+ OUTPUT
1311
+ end
1082
1312
 
1083
1313
  end