[wg11] Whoops RE: Specification of the AP Binding

Martin Hardwick hardwick at steptools.com
Fri Jul 16 17:31:54 EDT 2004


Gerry,

Sorry I forgot to address your External mapping issue.
My reasons for using a dynamically generated hyphen name
are as follows:

1. The name becomes something that can be referenced in
   the AP documents and used to say things about the 
   AND/OR instance. 

2. If XML Schema is being defined then using the External
   mapping two descriptions will have to be defined
   for each entity: one for regular usage and one for 
   usage in an external mapping (with just the locally
   defined attributes).

3. It looks strange to XML users who are not familiar with
   STEP.

4. The solution given does not require anything to be defined
   in advance because the names can be generated by the 
   writer dynamically and a reader can recognize that
   there is an external mapping by looking for the "-" in
   the name.

I know this is a contentious issue because some people think of it as
the "thin edge of the wedge" that has made P28 e2 so complicated.
However, IMO its the other things in the spec that make P28 e2
complicated and the hyphen generated name is a good idea.

Why is the External mapping easier to process using XSLT?

Martin

>> 
>> 6. External mapping
>> 
>>    Tagged using the Part 23 name generation algorithm but
>>    with a "-" replacing the "_and_". 
>> 
>>    For example, an AND/OR of foo and bar, is foo_and_bar 
>>    in Part 23 and is foo-bar in the AP Binding
>> 
>>    There is no requirement to generate the external mapping 
>>    names in advance.
>> 
>>    AP developers can use the generated names to make assertions 
>>    about the AND/OR instance in XML Schema at their discretion.
>> 
>>    Early bound implementations can choose to generate the names 
>>    in advance, or process the type using late bound External mapping
>>    software by recognizing the hyphen.
>>  
>>    #28=(LENGTH_UNIT() 
>>    NAMED_UNIT(*) 
>>    SI_UNIT(.MILLI.,.METRE.) 
>>    ); 
>> 
>>    <NAMED_UNIT-SI_UNIT id="id-28" > 
>>       <prefix>milli</prefix> 
>>       <name>metre</name> 
>>    </NAMED_UNIT-SI_UNIT >
>
>Why was LENGTH_UNIT included in the Part 21 but not the XML?
>
>Why not:
>
><EXTERNAL-MAPPING id="id-28">
>  <LENGTH_UNIT/>
>  <NAMED_UNIT/>
>  <SI_UNIT> 
>        <prefix>milli</prefix> 
>        <name>metre</name> 
>  </NAMED_UNIT-SI_UNIT>
><EXTERNAL-MAPPING>
>
>This would be closer to the Part 21, and would be easier to process in XSLt.
> 
>
>> 10. href
>> 
>>    The form of an href is "document#id"
>> 
>>    Document shall be the URL of a file. Id shall be the id of 
>>    an entity instance in that file. Document may be omitted 
>>    if the instance is in the current file.
>> 
>>    The id must be a valid XML NMTOKEN (must begin with a 
>>    a letter)
>> 
>It might be better if the id were mappable to a number, for compatibility with Part 21.
>
>
>
>
>
>!DSPAM:40f82e87221601453115847!



More information about the wg11 mailing list