Re: defining correctness for an XML transformation - how?

Thomas Passin <[email protected]> Wed, 3 Jul 2024 17:55:32 -0400
Newsgroups gmane.text.xml.devel
Message-ID <[email protected]>
On 7/3/2024 4:43 PM, Roger L Costello wrote:
> Hi Folks,
> 
> As I mentioned previously, I need to convert <Airport_Name> to <name>. 
> Here is an example conversion:
> 
> <Airport_Name>JOHN F KENNEDY INTL           </Airport_Name>
> 
> <name>JOHN F KENNEDY INTL</name>
> 
> The value of <name> is identical to the value of <Airport_Name>, except 
> trailing spaces are removed.
> 
> The value of <Airport_Name> is a fixed-length field (30 characters). 
> There is an XML Schema for the <Airport_Name> element, here it is:
> 
> <xs:element name="Airport_Name">
>      <xs:simpleType>
>          <xs:restriction base="xs:string">
>              <xs:length value="30"/>
>          </xs:restriction>
>      </xs:simpleType>
> </xs:element>
> 
> The value of <name> is a string up to 50 characters, with trailing 
> spaces removed. There is an XML Schema for the <name> element, here it is:
> 
> <xs:element name="name">
>      <xs:simpleType>
>          <xs:restriction base="xs:string">
>              <xs:maxLength value="50"/>
>              <xs:whitespace value="collapse"/>
>          </xs:restriction>
>      </xs:simpleType>
> </xs:element>
> 
> I have a file containing an <Airport_Name> for every airport in the 
> world. The airport names are expressed using ASCII characters.
> 
> Suppose I iterate over every <Airport_Name> element in the file, convert 
> its value to the appropriate <name> value, and evaluate the following 
> predicate:
> 
> normalize-space(Airport_Name) eq name
> 
> Suppose the predicate evaluates to true for every conversion.
> 
> Have I verified the correctness of my conversion?
> 
> If yes, then the way to verify the correctness of an XML-to-XML 
> conversion is:
> 
>  1. Validate the source element against the XML Schema for the source
>     element
>  2. Validate the converted target element against the XML Schema for the
>     target element
>  3. Create a predicate that the source-target conversion must satisfy
>     and evaluate the predicate
>  4. If all predicates return true, then the correctness of the
>     conversion is verified
> 
> 
> Do you agree?

I don't think I do.  You have got the output for an element validating 
against its target schema.  But I don't see where you validate an 
overall target schema.  There could be more to the output than just 
those converted elements, their order might be different, probably many 
other possible differences beyond just the converted target elements.


_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: [email protected]
subscribe: [email protected]
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php