Re: [xml-dev] Convert one XML format to another and verify the conversion … how to “verify the conversion” ?

Stephen D Green <[email protected]> Sat, 29 Jun 2024 17:39:36 +0100
Newsgroups gmane.text.xml.devel
Message-ID <CAA0AChVzCt6H69kRkjvyewzVX-wG4i-Gc+ryv-DFjLX_zD1Sgg@mail.gmail.com>
--000000000000118ede061c0a0398
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Roger,

I would say construct XPath expressions for each relevant XML node
(including text nodes and attributes) to verify that the values in the new
XML document correctly match those in the old XML document. I used to do
this a lot with UBL official examples to validate the results of converting
examples from a previous UBL version to a new one. I tended to do it twice,
once comparing old to new and once comparing new to old. It was critical to
have no errors.

Regards
Steve
----
Stephen D Green


On Sat, 29 Jun 2024 at 16:59, Roger L Costello <[email protected]> wrote:

> Hi Folks,
>
> I am writing a program that converts an old XML format to a new XML
> format. In addition to doing the conversion, I also need to *verify the
> conversion*. I have two questions:
>
>
>
> 1.       What does it mean to =E2=80=9Cverify the conversion=E2=80=9D? Do=
es XSD
> validation constitute verifying the conversion? My sense is no. My sense =
is
> that each *action* taken during the conversion must be verified. Do you
> agree with that?
>
> 2.       As I do the conversion, I simultaneously output (to a separate
> file) metadata for each conversion action. What metadata should I generat=
e
> to enable the conversion to be verified?
>
>
>
> Allow me to explain =E2=80=A6
>
>
>
> My program converts this old format:
>
>
>
> <Airport_Name>Boston Logan Airport</Airport_Name>
>
>
>
> to this new format:
>
>
>
> <name>Boston Logan Airport</name>
>
>
>
> Old format:
>
>
>
> <Airport_Elevation>19</Airport_Elevation>
>
>
>
> New format:
>
>
>
> <elevation>19</elevation>
>
>
>
> Old:
>
>
>
> <Airport_Reference_Point_Latitude>N42214660
> </Airport_Reference_Point_Latitude>
>
>
>
> New:
>
>
>
> <latitude>
>     <deg>42</deg>
>     <min>21</min>
>     <sec>46</sec>
>     <hSec>60</hSec>
>     <northSouth>North</northSouth>
> </latitude>
>
>
>
> Not only am I responsible for converting the old format to the new format=
,
> I am also required to *verify the conversion*.
>
>
>
> Truthfully, I am unclear what it means to =E2=80=9Cverify the conversion.=
=E2=80=9D There
> is an XML Schema for the new format. I could (and certainly will) validat=
e
> the file that is generated by my program. Is XSD-validation verifying the
> conversion? My sense is no. I think that =E2=80=9Cverify the conversion=
=E2=80=9D means
> verify each *action* taken during the conversion. Do you agree with that?
>
>
>
> =E2=80=9C=E2=80=A6 verify each *action* taken during the conversion.=E2=
=80=9D Here=E2=80=99s my plan of
> attack: My program will output -- to another, different file -- metadata
> that describes the actions that were taken during the conversion.
>
>
>
> Once again, I am unclear. What metadata is needed to verify an action? Th=
e
> metadata will be machine processed, so I am thinking that the metadata ha=
d
> better contain predicates (expressions that evaluate to true or false)
> since they can be easily evaluated by a machine.
>
>
>
> Here=E2=80=99s the metadata that I am currently generating when I convert
> Airport_Name to name:
>
>
>
> <mapping>
>     <description>Map Airport_Name to name</description>
>     <legacy-elmt-name>Airport_Name</legacy-elmt-name>
>     <legacy-elmt-value>GENERAL EDWARD LAWRENCE LOGAN </legacy-elmt-value>
>     <new-elmt-name>name</new-elmt-name>
>     <new-elmt-value>GENERAL EDWARD LAWRENCE LOGAN</new-elmt-value>
>     <predicate>Airport_Name =3D name</predicate>
> </mapping>
>
>
>
> The value of <predicate> is a predicate expression (does the value of
> Airport_Name equal the value of name).
>
> Here=E2=80=99s the metadata that I generate when I convert Airport_Elevat=
ion to
> elevation:
>
> <mapping>
>     <description>Map Airport_Elevation to elevation</description>
>     <legacy-elmt-name>Airport_Elevation</legacy-elmt-name>
>     <legacy-elmt-value>19</legacy-elmt-value>
>     <new-elmt-name>elevation</new-elmt-name>
>     <new-elmt-value>19</new-elmt-value>
>     <predicate>Airport_Elevation =3D elevation</predicate>
> </mapping>
>
>
>
> Here=E2=80=99s the metadata that I generate when I convert
> Airport_Reference_Point_Latitude to latitude:
>
> <mapping>
>     <description>Map Airport_Reference_Point_Latitude to latitude
> </description>
>     <legacy-elmt-name>Airport_Reference_Point_Latitude</legacy-elmt-name>
>     <legacy-elmt-value>N42214660</legacy-elmt-value>
>     <new-elmt-name>latitude</new-elmt-name>
>     <new-elmt-value>
>         <latitude>
>             <deg>42</deg>
>             <min>21</min>
>             <sec>46</sec>
>             <hSec>60</hSec>
>             <northSouth>North</northSouth>
>         </latitude>
>     </new-elmt-value>
>     <predicate>
>
>        substring(Airport_Reference_Point_Latitude,2,2) =3D latitude/deg a=
nd
>        substring(Airport_Reference_Point_Latitude,4,2) =3D latitude/min a=
nd
>        substring(Airport_Reference_Point_Latitude,6,2) =3D latitude/sec a=
nd
>        substring(Airport_Reference_Point_Latitude,8,2) =3D latitude/hSec =
and
>        (
>          (substring(Airport_Reference_Point_Latitude,1,1) =3D 'N' and
> latitude/NorthSouth =3D 'North') or
>         (substring(Airport_Reference_Point_Latitude,1,1) =3D 'S' and
> latitude/NorthSouth =3D 'South') or
>         (empty(latitude/NorthSouth))
>       )
>     </predicate>
> </mapping>
>
>
>
> Is that the metadata I should generate to enable the conversion to be
> verified?
>
> /Roger
>
>
>

--000000000000118ede061c0a0398
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Hi Roger,</div><div dir=3D"auto"><br></div><div dir=3D"au=
to">I would say construct XPath expressions for each relevant XML node (inc=
luding text nodes and attributes) to verify that the values in the new XML =
document correctly match those in the old XML document. I used to do this a=
 lot with UBL official examples to validate the results of converting examp=
les from a previous UBL version to a new one. I tended to do it twice, once=
 comparing old to new and once comparing new to old. It was critical to hav=
e no errors.=C2=A0<div><span style=3D"font-family:-webkit-standard;font-siz=
e:medium;font-style:normal;font-weight:400;letter-spacing:normal;text-inden=
t:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decorati=
on:none;float:none;display:inline!important;color:rgb(0,0,0)"></span></div>=
<br clear=3D"all">Regards</div><div dir=3D"auto">Steve<br clear=3D"all"><di=
v dir=3D"auto"><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D=
"gmail_signature"><div>----</div><div>Stephen D Green</div></div></div></di=
v><div><br></div><div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Sat, 29 Jun 2024 at 16:59, Roger L Costello &lt;<a href=
=3D"mailto:[email protected]">[email protected]</a>&gt; wrote:<br></div><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rg=
b(204,204,204)">





<div lang=3D"EN-US" link=3D"#467886" vlink=3D"#96607D" style=3D"overflow-wr=
ap: break-word;">
<div class=3D"m_-1117286799978635192WordSection1">
<p class=3D"MsoNormal" style=3D"line-height:105%"><span style=3D"font-famil=
y:Calibri,sans-serif">Hi Folks,<u style=3D"font-family:Calibri,sans-serif">=
</u><u style=3D"font-family:Calibri,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">I am writing a program that conve=
rts an old XML format to a new XML format. In addition to doing the convers=
ion, I also need
 to <b style=3D"font-family:Calibri,sans-serif"><i style=3D"font-family:Cal=
ibri,sans-serif">verify the conversion</i></b>. I have two questions:<u sty=
le=3D"font-family:Calibri,sans-serif"></u><u style=3D"font-family:Calibri,s=
ans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif"><u style=3D"font-family:Calibri,s=
ans-serif"></u>=C2=A0<u style=3D"font-family:Calibri,sans-serif"></u></span=
></p>
<p class=3D"MsoNormal" style=3D"margin-right:0in;margin-bottom:0in;margin-l=
eft:0.5in;line-height:normal">
<u></u><span style=3D"font-family:Calibri,sans-serif"><span style=3D"font-f=
amily:Calibri,sans-serif">1.<span style=3D"font-style:normal;font-variant-c=
aps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height=
:normal;font-family:&quot;Times New Roman&quot;">=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0
</span></span></span><u></u><span style=3D"font-family:Calibri,sans-serif">=
What does it mean to =E2=80=9Cverify the conversion=E2=80=9D? Does XSD vali=
dation constitute verifying the conversion? My sense is no. My sense is tha=
t each
<b style=3D"font-family:Calibri,sans-serif"><i style=3D"font-family:Calibri=
,sans-serif">action</i></b> taken during the conversion must be verified. D=
o you agree with that?<u style=3D"font-family:Calibri,sans-serif"></u><u st=
yle=3D"font-family:Calibri,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-right:0in;margin-bottom:0in;margin-l=
eft:0.5in;line-height:normal">
<u></u><span style=3D"font-family:Calibri,sans-serif"><span style=3D"font-f=
amily:Calibri,sans-serif">2.<span style=3D"font-style:normal;font-variant-c=
aps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height=
:normal;font-family:&quot;Times New Roman&quot;">=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0
</span></span></span><u></u><span style=3D"font-family:Calibri,sans-serif">=
As I do the conversion, I simultaneously output (to a separate file) metada=
ta for each conversion action. What metadata should I generate to enable th=
e conversion
 to be verified?<u style=3D"font-family:Calibri,sans-serif"></u><u style=3D=
"font-family:Calibri,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif"><u style=3D"font-family:Calibri,s=
ans-serif"></u>=C2=A0<u style=3D"font-family:Calibri,sans-serif"></u></span=
></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">Allow me to explain =E2=80=A6<u s=
tyle=3D"font-family:Calibri,sans-serif"></u><u style=3D"font-family:Calibri=
,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif"><u style=3D"font-family:Calibri,s=
ans-serif"></u>=C2=A0<u style=3D"font-family:Calibri,sans-serif"></u></span=
></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">My program converts this old form=
at:<u style=3D"font-family:Calibri,sans-serif"></u><u style=3D"font-family:=
Calibri,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-size:12pt;font-family:Arial,sans-serif"><u style=3D"font-fam=
ily:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"><=
/u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">&lt;Airport_Name&gt;</span><span style=3D"font=
-family:&quot;Times New Roman&quot;,serif;background-color:white;color:blac=
k">Boston Logan Airport</span><span style=3D"font-family:&quot;Times New Ro=
man&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/Airport_Nam=
e&gt;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;ba=
ckground-color:white"><u style=3D"font-family:&quot;Times New Roman&quot;,s=
erif"></u><u style=3D"font-family:&quot;Times New Roman&quot;,serif"></u></=
span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Arial,sans-serif"><u style=3D"font-family:Arial,sans-=
serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">to this new format:<u style=3D"fo=
nt-family:Calibri,sans-serif"></u><u style=3D"font-family:Calibri,sans-seri=
f"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-size:12pt;font-family:Arial,sans-serif"><u style=3D"font-fam=
ily:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"><=
/u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">&lt;name&gt;</span><span style=3D"font-family:=
&quot;Times New Roman&quot;,serif;background-color:white;color:black">Bosto=
n Logan Airport</span><span style=3D"font-family:&quot;Times New Roman&quot=
;,serif;background-color:white;color:rgb(0,0,150)">&lt;/name&gt;</span><spa=
n style=3D"font-family:&quot;Times New Roman&quot;,serif;background-color:w=
hite"><u style=3D"font-family:&quot;Times New Roman&quot;,serif"></u><u sty=
le=3D"font-family:&quot;Times New Roman&quot;,serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Arial,sans-serif"><u style=3D"font-family:Arial,sans-=
serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">Old format:<u style=3D"font-famil=
y:Calibri,sans-serif"></u><u style=3D"font-family:Calibri,sans-serif"></u><=
/span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-size:12pt;font-family:Arial,sans-serif"><u style=3D"font-fam=
ily:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"><=
/u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">&lt;Airport_Elevation&gt;</span><span style=3D=
"font-family:&quot;Times New Roman&quot;,serif;background-color:white;color=
:black">19</span><span style=3D"font-family:&quot;Times New Roman&quot;,ser=
if;background-color:white;color:rgb(0,0,150)">&lt;/Airport_Elevation&gt;</s=
pan><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background=
-color:white"><u style=3D"font-family:&quot;Times New Roman&quot;,serif"></=
u><u style=3D"font-family:&quot;Times New Roman&quot;,serif"></u></span></p=
>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-size:12pt;font-family:Arial,sans-serif"><u style=3D"font-fam=
ily:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"><=
/u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">New format:<u style=3D"font-famil=
y:Calibri,sans-serif"></u><u style=3D"font-family:Calibri,sans-serif"></u><=
/span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-size:12pt;font-family:Arial,sans-serif"><u style=3D"font-fam=
ily:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"><=
/u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">&lt;elevation&gt;</span><span style=3D"font-fa=
mily:&quot;Times New Roman&quot;,serif;background-color:white;color:black">=
19</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backg=
round-color:white;color:rgb(0,0,150)">&lt;/elevation&gt;</span><span style=
=3D"font-family:&quot;Times New Roman&quot;,serif;background-color:white"><=
u style=3D"font-family:&quot;Times New Roman&quot;,serif"></u><u style=3D"f=
ont-family:&quot;Times New Roman&quot;,serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-size:12pt;font-family:Arial,sans-serif"><u style=3D"font-fam=
ily:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"><=
/u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">Old:<u style=3D"font-family:Calib=
ri,sans-serif"></u><u style=3D"font-family:Calibri,sans-serif"></u></span><=
/p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-size:12pt;font-family:Arial,sans-serif"><u style=3D"font-fam=
ily:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"><=
/u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">&lt;Airport_Reference_Point_Latitude&gt;</span=
><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-co=
lor:white;color:black">N42214660</span><span style=3D"font-family:&quot;Tim=
es New Roman&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/Ai=
rport_Reference_Point_Latitude&gt;</span><span style=3D"font-family:&quot;T=
imes New Roman&quot;,serif;background-color:white"><u style=3D"font-family:=
&quot;Times New Roman&quot;,serif"></u><u style=3D"font-family:&quot;Times =
New Roman&quot;,serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-size:12pt;font-family:Arial,sans-serif"><u style=3D"font-fam=
ily:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"><=
/u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">New:<u style=3D"font-family:Calib=
ri,sans-serif"></u><u style=3D"font-family:Calibri,sans-serif"></u></span><=
/p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-size:12pt;font-family:Arial,sans-serif"><u style=3D"font-fam=
ily:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"><=
/u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">&lt;latitude&gt;</span><span style=3D"font-fam=
ily:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><=
br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;deg&gt;</span><s=
pan style=3D"font-family:&quot;Times New Roman&quot;,serif;background-color=
:white;color:black">42</span><span style=3D"font-family:&quot;Times New Rom=
an&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/deg&gt;</spa=
n><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-c=
olor:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;min&gt;</span><s=
pan style=3D"font-family:&quot;Times New Roman&quot;,serif;background-color=
:white;color:black">21</span><span style=3D"font-family:&quot;Times New Rom=
an&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/min&gt;</spa=
n><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-c=
olor:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;sec&gt;</span><s=
pan style=3D"font-family:&quot;Times New Roman&quot;,serif;background-color=
:white;color:black">46</span><span style=3D"font-family:&quot;Times New Rom=
an&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/sec&gt;</spa=
n><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-c=
olor:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;hSec&gt;</span><=
span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-colo=
r:white;color:black">60</span><span style=3D"font-family:&quot;Times New Ro=
man&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/hSec&gt;</s=
pan><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background=
-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;northSouth&gt;</=
span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgroun=
d-color:white;color:black">North</span><span style=3D"font-family:&quot;Tim=
es New Roman&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/no=
rthSouth&gt;</span><span style=3D"font-family:&quot;Times New Roman&quot;,s=
erif;background-color:white;color:black"><br>
</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgro=
und-color:white;color:rgb(0,0,150)">&lt;/latitude&gt;</span><span style=3D"=
font-family:&quot;Times New Roman&quot;,serif;background-color:white"><u st=
yle=3D"font-family:&quot;Times New Roman&quot;,serif"></u><u style=3D"font-=
family:&quot;Times New Roman&quot;,serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Arial,sans-serif"><u style=3D"font-family:Arial,sans-=
serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">Not only am I responsible for con=
verting the old format to the new format, I am also required to
<b style=3D"font-family:Calibri,sans-serif"><i style=3D"font-family:Calibri=
,sans-serif">verify the conversion</i></b>. <u style=3D"font-family:Calibri=
,sans-serif"></u><u style=3D"font-family:Calibri,sans-serif"></u></span></p=
>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif"><u style=3D"font-family:Calibri,s=
ans-serif"></u>=C2=A0<u style=3D"font-family:Calibri,sans-serif"></u></span=
></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">Truthfully, I am unclear what it =
means to =E2=80=9Cverify the conversion.=E2=80=9D There is an XML Schema fo=
r the new format. I could (and certainly
 will) validate the file that is generated by my program. Is XSD-validation=
 verifying the conversion? My sense is no. I think that =E2=80=9Cverify the=
 conversion=E2=80=9D means verify each
<b style=3D"font-family:Calibri,sans-serif"><i style=3D"font-family:Calibri=
,sans-serif">action</i></b> taken during the conversion. Do you agree with =
that?<u style=3D"font-family:Calibri,sans-serif"></u><u style=3D"font-famil=
y:Calibri,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif"><u style=3D"font-family:Calibri,s=
ans-serif"></u>=C2=A0<u style=3D"font-family:Calibri,sans-serif"></u></span=
></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">=E2=80=9C=E2=80=A6 verify each
<b style=3D"font-family:Calibri,sans-serif"><i style=3D"font-family:Calibri=
,sans-serif">action</i></b> taken during the conversion.=E2=80=9D Here=E2=
=80=99s my plan of attack: My program will output -- to another, different =
file -- metadata that describes the actions that were taken during the conv=
ersion.
<u style=3D"font-family:Calibri,sans-serif"></u><u style=3D"font-family:Cal=
ibri,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif"><u style=3D"font-family:Calibri,s=
ans-serif"></u>=C2=A0<u style=3D"font-family:Calibri,sans-serif"></u></span=
></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">Once again, I am unclear. What me=
tadata is needed to verify an action? The metadata will be machine processe=
d, so I am thinking
 that the metadata had better contain predicates (expressions that evaluate=
 to true or false) since they can be easily evaluated by a machine.<u style=
=3D"font-family:Calibri,sans-serif"></u><u style=3D"font-family:Calibri,san=
s-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif"><u style=3D"font-family:Calibri,s=
ans-serif"></u>=C2=A0<u style=3D"font-family:Calibri,sans-serif"></u></span=
></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif">Here=E2=80=99s the metadata that =
I am currently generating when I convert Airport_Name to name:<u style=3D"f=
ont-family:Calibri,sans-serif"></u><u style=3D"font-family:Calibri,sans-ser=
if"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Calibri,sans-serif"><u style=3D"font-family:Calibri,s=
ans-serif"></u>=C2=A0<u style=3D"font-family:Calibri,sans-serif"></u></span=
></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">&lt;mapping&gt;</span><span style=3D"font-fami=
ly:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><b=
r>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;description&gt;<=
/span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgrou=
nd-color:white;color:black">Map Airport_Name to name</span><span style=3D"f=
ont-family:&quot;Times New Roman&quot;,serif;background-color:white;color:r=
gb(0,0,150)">&lt;/description&gt;</span><span style=3D"font-family:&quot;Ti=
mes New Roman&quot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;legacy-elmt-name=
&gt;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;bac=
kground-color:white;color:black">Airport_Name</span><span style=3D"font-fam=
ily:&quot;Times New Roman&quot;,serif;background-color:white;color:rgb(0,0,=
150)">&lt;/legacy-elmt-name&gt;</span><span style=3D"font-family:&quot;Time=
s New Roman&quot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;legacy-elmt-valu=
e&gt;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;ba=
ckground-color:white;color:black">GENERAL EDWARD LAWRENCE
 LOGAN </span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;=
background-color:white;color:rgb(0,0,150)">&lt;/legacy-elmt-value&gt;</span=
><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-co=
lor:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;new-elmt-name&gt=
;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgr=
ound-color:white;color:black">name</span><span style=3D"font-family:&quot;T=
imes New Roman&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/=
new-elmt-name&gt;</span><span style=3D"font-family:&quot;Times New Roman&qu=
ot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;new-elmt-value&g=
t;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backg=
round-color:white;color:black">GENERAL EDWARD LAWRENCE
 LOGAN</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;b=
ackground-color:white;color:rgb(0,0,150)">&lt;/new-elmt-value&gt;</span><sp=
an style=3D"font-family:&quot;Times New Roman&quot;,serif;background-color:=
white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;predicate&gt;</s=
pan><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background=
-color:white;color:black">Airport_Name =3D name</span><span style=3D"font-f=
amily:&quot;Times New Roman&quot;,serif;background-color:white;color:rgb(0,=
0,150)">&lt;/predicate&gt;</span><span style=3D"font-family:&quot;Times New=
 Roman&quot;,serif;background-color:white;color:black"><br>
</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgro=
und-color:white;color:rgb(0,0,150)">&lt;/mapping&gt;</span><span style=3D"f=
ont-family:&quot;Times New Roman&quot;,serif;background-color:white"><u sty=
le=3D"font-family:&quot;Times New Roman&quot;,serif"></u><u style=3D"font-f=
amily:&quot;Times New Roman&quot;,serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><span=
 style=3D"font-family:Arial,sans-serif"><u style=3D"font-family:Arial,sans-=
serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"line-height:105%"><span style=3D"font-famil=
y:Calibri,sans-serif">The value of &lt;predicate&gt; is a predicate express=
ion (does the value of Airport_Name equal the value of name).<u style=3D"fo=
nt-family:Calibri,sans-serif"></u><u style=3D"font-family:Calibri,sans-seri=
f"></u></span></p>
<p class=3D"MsoNormal" style=3D"line-height:105%"><span style=3D"font-famil=
y:Calibri,sans-serif">Here=E2=80=99s the metadata that I generate when I co=
nvert Airport_Elevation to elevation:<u style=3D"font-family:Calibri,sans-s=
erif"></u><u style=3D"font-family:Calibri,sans-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">&lt;mapping&gt;</span><span style=3D"font-fami=
ly:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><b=
r>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;description&gt;<=
/span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgrou=
nd-color:white;color:black">Map Airport_Elevation to elevation</span><span =
style=3D"font-family:&quot;Times New Roman&quot;,serif;background-color:whi=
te;color:rgb(0,0,150)">&lt;/description&gt;</span><span style=3D"font-famil=
y:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><br=
>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;legacy-elmt-name=
&gt;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;bac=
kground-color:white;color:black">Airport_Elevation</span><span style=3D"fon=
t-family:&quot;Times New Roman&quot;,serif;background-color:white;color:rgb=
(0,0,150)">&lt;/legacy-elmt-name&gt;</span><span style=3D"font-family:&quot=
;Times New Roman&quot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;legacy-elmt-valu=
e&gt;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;ba=
ckground-color:white;color:black">19</span><span style=3D"font-family:&quot=
;Times New Roman&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt=
;/legacy-elmt-value&gt;</span><span style=3D"font-family:&quot;Times New Ro=
man&quot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;new-elmt-name&gt=
;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgr=
ound-color:white;color:black">elevation</span><span style=3D"font-family:&q=
uot;Times New Roman&quot;,serif;background-color:white;color:rgb(0,0,150)">=
&lt;/new-elmt-name&gt;</span><span style=3D"font-family:&quot;Times New Rom=
an&quot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;new-elmt-value&g=
t;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backg=
round-color:white;color:black">19</span><span style=3D"font-family:&quot;Ti=
mes New Roman&quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/n=
ew-elmt-value&gt;</span><span style=3D"font-family:&quot;Times New Roman&qu=
ot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;predicate&gt;</s=
pan><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background=
-color:white;color:black">Airport_Elevation =3D elevation</span><span style=
=3D"font-family:&quot;Times New Roman&quot;,serif;background-color:white;co=
lor:rgb(0,0,150)">&lt;/predicate&gt;</span><span style=3D"font-family:&quot=
;Times New Roman&quot;,serif;background-color:white;color:black"><br>
</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgro=
und-color:white;color:rgb(0,0,150)">&lt;/mapping&gt;</span><span style=3D"f=
ont-family:&quot;Times New Roman&quot;,serif;background-color:white"><u sty=
le=3D"font-family:&quot;Times New Roman&quot;,serif"></u><u style=3D"font-f=
amily:&quot;Times New Roman&quot;,serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"line-height:105%"><span style=3D"font-size:=
12pt;line-height:105%;font-family:Arial,sans-serif"><u style=3D"font-family=
:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"></u>=
</span></p>
<p class=3D"MsoNormal" style=3D"line-height:105%"><span style=3D"font-famil=
y:Calibri,sans-serif">Here=E2=80=99s the metadata that I generate when I co=
nvert Airport_Reference_Point_Latitude to latitude:<u style=3D"font-family:=
Calibri,sans-serif"></u><u style=3D"font-family:Calibri,sans-serif"></u></s=
pan></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">&lt;mapping&gt;</span><span style=3D"font-fami=
ly:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><b=
r>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;description&gt;<=
/span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgrou=
nd-color:white;color:black">Map Airport_Reference_Point_Latitude
 to latitude</span><span style=3D"font-family:&quot;Times New Roman&quot;,s=
erif;background-color:white;color:rgb(0,0,150)">&lt;/description&gt;</span>=
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;legacy-elmt-name=
&gt;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;bac=
kground-color:white;color:black">Airport_Reference_Point_Latitude</span><sp=
an style=3D"font-family:&quot;Times New Roman&quot;,serif;background-color:=
white;color:rgb(0,0,150)">&lt;/legacy-elmt-name&gt;</span><span style=3D"fo=
nt-family:&quot;Times New Roman&quot;,serif;background-color:white;color:bl=
ack"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;legacy-elmt-valu=
e&gt;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;ba=
ckground-color:white;color:black">N42214660</span><span style=3D"font-famil=
y:&quot;Times New Roman&quot;,serif;background-color:white;color:rgb(0,0,15=
0)">&lt;/legacy-elmt-value&gt;</span><span style=3D"font-family:&quot;Times=
 New Roman&quot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;new-elmt-name&gt=
;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgr=
ound-color:white;color:black">latitude</span><span style=3D"font-family:&qu=
ot;Times New Roman&quot;,serif;background-color:white;color:rgb(0,0,150)">&=
lt;/new-elmt-name&gt;</span><span style=3D"font-family:&quot;Times New Roma=
n&quot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;new-elmt-value&g=
t;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backg=
round-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-famil=
y:&quot;Times New Roman&quot;,serif;background-color:white;color:rgb(0,0,15=
0)">&lt;latitude&gt;</span><span style=3D"font-family:&quot;Times New Roman=
&quot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 </span><=
span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-colo=
r:white;color:rgb(0,0,150)">&lt;deg&gt;</span><span style=3D"font-family:&q=
uot;Times New Roman&quot;,serif;background-color:white;color:black">42</spa=
n><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-c=
olor:white;color:rgb(0,0,150)">&lt;/deg&gt;</span><span style=3D"font-famil=
y:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><br=
>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 </span><=
span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-colo=
r:white;color:rgb(0,0,150)">&lt;min&gt;</span><span style=3D"font-family:&q=
uot;Times New Roman&quot;,serif;background-color:white;color:black">21</spa=
n><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-c=
olor:white;color:rgb(0,0,150)">&lt;/min&gt;</span><span style=3D"font-famil=
y:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><br=
>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 </span><=
span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-colo=
r:white;color:rgb(0,0,150)">&lt;sec&gt;</span><span style=3D"font-family:&q=
uot;Times New Roman&quot;,serif;background-color:white;color:black">46</spa=
n><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-c=
olor:white;color:rgb(0,0,150)">&lt;/sec&gt;</span><span style=3D"font-famil=
y:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><br=
>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 </span><=
span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-colo=
r:white;color:rgb(0,0,150)">&lt;hSec&gt;</span><span style=3D"font-family:&=
quot;Times New Roman&quot;,serif;background-color:white;color:black">60</sp=
an><span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-=
color:white;color:rgb(0,0,150)">&lt;/hSec&gt;</span><span style=3D"font-fam=
ily:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><=
br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 </span><=
span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-colo=
r:white;color:rgb(0,0,150)">&lt;northSouth&gt;</span><span style=3D"font-fa=
mily:&quot;Times New Roman&quot;,serif;background-color:white;color:black">=
North</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;ba=
ckground-color:white;color:rgb(0,0,150)">&lt;/northSouth&gt;</span><span st=
yle=3D"font-family:&quot;Times New Roman&quot;,serif;background-color:white=
;color:black"><br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-famil=
y:&quot;Times New Roman&quot;,serif;background-color:white;color:rgb(0,0,15=
0)">&lt;/latitude&gt;</span><span style=3D"font-family:&quot;Times New Roma=
n&quot;,serif;background-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;/new-elmt-value&=
gt;</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;back=
ground-color:white;color:black"><br>
=C2=A0=C2=A0=C2=A0 </span><span style=3D"font-family:&quot;Times New Roman&=
quot;,serif;background-color:white;color:rgb(0,0,150)">&lt;predicate&gt;<u =
style=3D"font-family:&quot;Times New Roman&quot;,serif"></u><u style=3D"fon=
t-family:&quot;Times New Roman&quot;,serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal;backgr=
ound-color:white">
<span style=3D"font-family:&quot;Times New Roman&quot;,serif;background-col=
or:white;color:rgb(0,0,150)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgro=
und-color:white;color:black">substring(Airport_Reference_Point_Latitude,2,2=
) =3D latitude/deg and<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 substring(Airport_Reference_Point_Lati=
tude,4,2) =3D latitude/min and<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 substring(Airport_Reference_Point_Lati=
tude,6,2) =3D latitude/sec and<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 substring(Airport_Reference_Point_Lati=
tude,8,2) =3D latitude/hSec and<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (substring(Airport_Referen=
ce_Point_Latitude,1,1) =3D &#39;N&#39; and latitude/NorthSouth =3D &#39;Nor=
th&#39;) or<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (substring(Airport_Reference_Poi=
nt_Latitude,1,1) =3D &#39;S&#39; and latitude/NorthSouth =3D &#39;South&#39=
;) or<br>
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0(empty(latitude/NorthSouth))<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 )</span><span style=3D"font-family:&quot;Tim=
es New Roman&quot;,serif;background-color:white;color:rgb(0,0,150)">
<br>
=C2=A0=C2=A0=C2=A0=C2=A0&lt;/predicate&gt;</span><span style=3D"font-family=
:&quot;Times New Roman&quot;,serif;background-color:white;color:black"><br>
</span><span style=3D"font-family:&quot;Times New Roman&quot;,serif;backgro=
und-color:white;color:rgb(0,0,150)">&lt;/mapping&gt;</span><span style=3D"f=
ont-family:&quot;Times New Roman&quot;,serif;background-color:white"><u sty=
le=3D"font-family:&quot;Times New Roman&quot;,serif"></u><u style=3D"font-f=
amily:&quot;Times New Roman&quot;,serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"line-height:105%"><span style=3D"font-size:=
12pt;line-height:105%;font-family:Arial,sans-serif"><u style=3D"font-family=
:Arial,sans-serif"></u>=C2=A0<u style=3D"font-family:Arial,sans-serif"></u>=
</span></p>
<p class=3D"MsoNormal" style=3D"line-height:105%"><span style=3D"font-famil=
y:Calibri,sans-serif">Is that the metadata I should generate to enable the =
conversion to be verified?</span></p></div></div><div lang=3D"EN-US" link=
=3D"#467886" vlink=3D"#96607D" style=3D"overflow-wrap: break-word;"><div cl=
ass=3D"m_-1117286799978635192WordSection1"><p class=3D"MsoNormal" style=3D"=
line-height:105%"><span style=3D"font-family:Calibri,sans-serif"><u style=
=3D"font-family:Calibri,sans-serif"></u><u style=3D"font-family:Calibri,san=
s-serif"></u></span></p>
<p class=3D"MsoNormal" style=3D"line-height:105%"><span style=3D"font-famil=
y:Calibri,sans-serif">/Roger<u style=3D"font-family:Calibri,sans-serif"></u=
><u style=3D"font-family:Calibri,sans-serif"></u></span></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>

</blockquote></div></div>

--000000000000118ede061c0a0398--