[wg11] Part 29 Specification of the AP Binding
David Price
david.price at eurostep.com
Tue Jul 27 19:34:21 EDT 2004
All,
>From an ISO standard/procedural point of view, I cannot see how a separate
Part 29, requiring development and the required CD/TS or CD/DIS ballot, can
do anything but delay getting XML Schema capability into the hand of AP
developers.
As Part 28 has passed its CD ballot and will be a DIS within a few months, I
would encourage efforts to satisfy these requirements within the current
Part 28 Edition 2 framework rather than in another SC4 standard. Even if an
"AP binding configuration" was required to be standardized as a clause in
Part 28 in order to achieve this, that seems a better option than creating a
separate standard.
Cheers,
David
> -----Original Message-----
> From: wg11-bounces at steptools.com [mailto:wg11-bounces at steptools.com] On
> Behalf Of Martin Hardwick
> Sent: 27 July 2004 21:31
> To: xmlsc4 at nist.gov; wg11 at steptools.com; step-manufacturing at steptools.com;
> wg3 at tc184-sc4.org
> Subject: [wg11] Part 29 Specification of the AP Binding
>
>
> All,
>
> Here is a draft formal specification of the AP binding.
> The document is as per the message I sent out just before
> the last conference call but with header elements defined
> and two corrections made:
>
> a. NVL element deleted and replaced with an unset attribute.
> b. Camel case used for entity names.
>
> I had the following goals when defining the header element
>
> 1. Make it possible to embed STEP information in other XML
> documents including SOAP envelopes and databases. For example,
> send the header element to a user in a SOAP message and have
> it contain URL's for all of the places to find the data.
>
> 2. Enable the reuse of data across Application Protocols including
> reuse of geometry defined in P21.
>
> 3. Enable the definition of constant entity instances in a reference
> data set so that they can be reused by every instance of an
> Application Protocol (and be defined by standard names given in the
> AP).
>
> 4. Enable modularity by defining a new class of conformance checking
> that allows the mapping of an Application Object instance to be
> checked without checking the rest of an AP.
>
> This should make it possible for us to begin defining re-usable
> libraries of Application Objects which is something we need quite
> badly in STEP-Manufacturing so that we can start defining libraries
> of re-usable processes and features.
>
> 5. Give the user freedom to define name spaces for STEP data and name
> spaces
> for other kinds of data and allow the two to be freely mixed within
> documents.
>
> I welcome all of your comments and will be happy to make corrections
> and add functionality.
>
> I have not done anything to optimize the representation of lists because
> I would like to talk to the group working on the representation of large
> analysis data sets to discover what will work best for them (simply
> allowing lists of primitives to be compressed seems insufficient).
>
> This work is not meant to replace P28 but to supplement it for those
> teams that do not anticipate being able to define a simple XML Schema
> for their Application Protocol in the short to mid-term.
>
> In this edition the text and table of contents are good (for a draft
> rapidly written by one person). The index has not been updated. None
> of the Annexes have been updated, but some P21 annexes that do not
> apply to P29 have been deleted. I have not yet figured out how to
> use the Framemaker spell checker without it complaining about all the
> examples so I apologize in advance for all the typos.
>
> Martin Hardwick
>
>
> At 01:51 PM 7/16/2004 -0400, Martin Hardwick wrote:
>
> >All,
> >
> >As per the mandate given to T24 at the SC4 meeting here is
> >a specification for the AP binding. All and any suggestions
> >for improvements are welcomed, particularly when they correct
> >errors and ambiguities.
> >
> >However, when making suggestions please remember that speed
> >is an important goal for this project. We want to have a CD
> >draft ready for the next SC4 meeting. There are many areas
> >where additional flexibility can be added without much cost
> >but in most cases it may be best to add these via the ballot
> >comment/resolution process.
> >
> >One of the items for discussion in the teleconference should
> >be whether this binding can be completed most efficiently by
> >writing a conformance class of P28 or by writing a new document
> >using the existing P21 as a model.
> >
> >Martin Hardwick
> >Team Leader T24 STEP-Manufacturing
> >
> >+++++++++++++++++++++++++++++++++++++++
> >AP Binding Requirements
> >
> >1. The AP binding needs to follow the mainstream conventions for XML data
> > (no surprises to the end user).
> >2. The AP binding must have sufficient legibility/understandability to
> > allow the AP developers to add definitions to the schema that may come
> from
> > the AAM, ARM, mapping tables and AIM rules.
> >3. The AP binding specification must be clear, concise and precise to
> support
> > easy conformance checking by vendors and end users.
> >4. The AP binding must be implementable by those who have developed
> > P21 parsers without requiring them to purchase or otherwise obtain
> > additional tooling for any reason including pre-processing or
> > post-processing data described by a configuration.
> >5. The AP binding must allow AP implementations to inter-operate when
> > those AP's contain harmonized AIM definitions.
> >
> >+++++++++++++++++++++++++++++++++++++++
> >Specification of the AP Binding
> >
> >1. Case conventions
> >
> > Entity names converted to upper case. Attribute
> > names converted to lower case. Type names
> > converted to upper case.
> >
> >2. Handling of entities
> >
> > Entity is tagged with its name and an id.
> >
> > Each attribute is tagged with its name.
> >
> > Each attribute describe by an entity value
> > has either an href attribute to the entity
> > or the value is described in place using nesting.
> >
> > AP developers can choose to define only one
> > form (href or nesting) in their XML Schema for
> > a given attribute and then state that the other
> > form may also be used.
> >
> > Nested instances may be referenced by other instances.
> >
> > <PRODUCT_DEFINITION id="pd45" >
> > <id>PR-3456-Manufacturing</id>
> > <formation href="#pdf78" />
> > </PRODUCT_DEFINITION>
> >
> > <PRODUCT_DEFINITION_FORMATION id="pdf78" >
> > <id>PR23-67-PDF</id>
> > <of_product>
> > <PRODUCT id="p078">
> > <id>PR2345-76A</id>
> > <name>machining project</name>
> > </PRODUCT>
> > </of_product>
> > </PRODUCT_DEFINITION_FORMATION>
> >
> >3. Handling of selects
> >
> > Primitive types are always tagged with the most
> > specific type name.
> >
> > Entity types are tagged with the name of the type
> > If a path of nested selects is necessary then the
> > XML tag contains an attribute called path which contains
> > a white space delimited list of type names as per the
> > Part 21 specification.
> >
> > <CIRCLE id="c56" >
> > <position href="#a2p-102" /> <!-- this is a select -->
> > </CIRCLE>
> >
> > <AXIS2_PLACEMENT_3D id="a2p-102">
> > ...
> > </AXIS2_PLACEMENT_3D>
> >
> > In the following EXPRESS (from P21)
> >
> > TYPE Mass = SELECT(Mass_Spec, Mass_Substitute);
> > END_TYPE;
> >
> > TYPE Mass_Spec = SELECT(Measured_Mass, Computed_Mass, Estimated_Mass);
> > END_TYPE;
> >
> > TYPE Measured_Mass = REAL;
> > END_TYPE;
> >
> > TYPE Computed_Mass = Extended_Real;
> > END_TYPE;
> >
> > TYPE Estimated_Mass = REAL;
> > END_TYPE;
> >
> > TYPE Mass_Substitute = SELECT=(Weight, Estimated_Mass);
> > END_TYPE;
> >
> > TYPE Weight = REAL;
> > END_TYPE;
> >
> > TYPE Extended_Real = SELECT(FloatingNumber, NotaNumber);
> > END_TYPE;
> >
> > TYPE FloatingNUmber = REAL(7);
> > END_TYPE;
> >
> > TYPE NotaNumber = ENUMERATION OF (plus_infinity, minus_infinity,
> > indeterminate, invalid);
> > END_TYPE;
> >
> > ENTITY Steel_bar;
> > bar_length: Extended_Real;
> > bar_mass: Mass;
> > END_ENTITY;
> >
> > #1=SEEL_BAR(FLOATINGNUMBER(77.0), MEASURED_MASS(13.25));
> > <STEEL_BAR id="id-1" >
> > <bar_length><FLOATINGNUMBER>77.0</FLOATINGNUMBER></bar_length>
> > <bar_mass><MEASURED_MASS>13.25</MEASURED_MASS></bar_mass>
> > </STEEL_BAR>
> >
> > #2=SEEL_BAR(NOTANUMBER(.INDETERMINATE.)), ESTIMATED_MASS(10.0));
> > <STEEL_BAR id="id-2" >
> > <bar_length><NOTANUMBER>indeterminate</NOTANUMBER></bar_length>
> > <bar_mass><ESTIMATED_MASS>13.25</ESTIMATED_MASS></bar_mass>
> > </STEEL_BAR>
> >
> > #3=STEEL_BAR(FLOATINGNUMBER(77.0),
> COMPUTED_MASS(FLOATINGNUMBER(14.77719)));
> > <STEEL_BAR id="id-3" >
> > <bar_length><FLOATINGNUMBER>77.0</FLOATINGNUMBER></bar_length>
> > <bar_mass>
> > <FLOATINGNUMBER
> path="COMPUTED_MASS">13.25</FLOATINGNUMBER>
> > </bar_mass>
> > </STEEL_BAR>
> >
> >
> >4. Handling of simple aggregates
> >
> > The EXPRESS attribute serves as the container for the aggregate. Every
> > element in the aggregate is represented by an XML element. For those
> > data types that are not described by entities, the name of the most
> specific
> > type is used as the element name.
> >
> > <CARTESIAN_POINT id="cp45" >
> > <coordinates>
> > <LENGTH_MEASURE>6.78</LENGTH_MEASURE>
> > <LENGTH_MEASURE>3.2</LENGTH_MEASURE>
> > <LENGTH_MEASURE>10.32</LENGTH_MEASURE>
> > </coordinates>
> > </CARTESIAN_POINT>
> >
> > <APPLIED_DATE_AND_TIME_ASSIGNMENT id="adta23">
> > <items>
> > <DATED_EFFECTIVITY href="#ef-45" />
> > <APPROVAL_STATUS>
> > <name>approved</name>
> > </APPROVAL_STATUS>
> > <PERSON_AND_ORGANIZATION href="#pno-24" />
> > </items>
> > </APPLIED_DATE_AND_TIME_ASSIGNMENT>
> >
> >5. Handling of nested aggregates
> >
> > New keyword <AGGREGATE> is used to tag each nest except the
> > outermost which is tagged by the attribute. Elements in
> > the aggregate are tagged using their most specific type
> > name.
> >
> > <RATIONAL_B_SPLINE_SURFACE id="rbss89" >
> > <weights_data>
> > <AGGREGATE>
> > <REAL>5.6</REAL>
> > <REAL>6.7</REAL>
> > </AGGREGATE>
> > <AGGREGATE>
> > <REAL>3.2</REAL>
> > <REAL>4.3</REAL>
> > </AGGREGATE>
> > </weights_data>
> > </RATIONAL_B_SPLINE_SURFACE >
> >
> >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 >
> >
> >7. Null ($ sign equivalent).
> >
> > The keyword NVL shall be used to indicate a NULL element.
> >
> > <position><NVL/></position>
> > <items><REAL>1.5</REAL><NVL/><REAL>2.6</REAL></items>
> >
> > When an AP developer wants to allow NULL values, the <NVL>
> > element should be included in the XMLSchema definition.
> >
> >8. Attribute order.
> >
> > The attribute order does not matter. If an entity inherits two
> > attributes with the same name then qualify each name with the
> > name of the entity that defined that attribute.
> >
> > Attributes with unrecognized names shall be ignored.
> > Missing attributes shall be unset.
> >
> >9. Entity instance order.
> >
> > The order is unspecified. Unrecognized instances shall be
> > ignored.
> >
> >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)
> >
> >_______________________________________________
> >wg11 mailing list
> >wg11 at steptools.com
> >http://lists.steptools.com/mailman/listinfo/wg11
> >
> >
> >!DSPAM:40f815d4183261392010872!
More information about the wg11
mailing list