OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: [xml-dev] Re: ASN.1 is an XML Schema Language (Fix those list s!)and

[ Lists Home | Date Index | Thread Index ]
  • To: "'Pete Kirkham'" <pete.kirkham@baesystems.com>, <xml-dev@lists.xml.org>
  • Subject: RE: [xml-dev] Re: ASN.1 is an XML Schema Language (Fix those list s!)and Binary XML not needed
  • From: "Alessandro Triglia" <sandro@mclink.it>
  • Date: Fri, 7 Nov 2003 10:31:00 -0500
  • Importance: Normal
  • In-reply-to: <"031107121129Z.WT22061.122*/PN=Pete.Kirkham/OU=Technical/OU=NOTES/O=BAe MAA/PRMD=BAE/ADMD=GOLD 400/C=GB/"@MHS>

Pete Kirkham wrote:
> How would you specify an XER encoding to XMI (http://www.omg. 
> org/technology/documents/formal/xmi.htm)? For example, an 
> instance of the example 
> PersonnelRecord at 
> http://asn1.elibel.tm.fr/en/xml/ASN1-as-an-XML-schema-notation.
> htm could be encoded in XMI as:
> <PersonnelRecord dateOfHire="19710917">
>   <PersonnelRecord.title>Director</PersonnelRecord.title>
>   <PersonnelRecord.name>
>     <Name>
>       <Name.givenName>John</Name.givenName>
>       <Name.initial>P</Name.initial>      
>       <Name.familyName>Smith</Name.familyName>
>     </Name>
>   </PersonnelRecord.name>
>   <PersonnelRecord.nameOfSpouse>
>      <Name givenName="Mary" initial="T" familyName="Smith"/>
>   </PersonnelRecord.nameOfSpouse>
>   <PersonnelRecord.children>
>     <ChildInformation dateOfBirth="19571111">
>       <ChildInformation.name> 
>         <Name givenName="Ralph" initial="T" familyName="Smith"/>
>       </ChildInformation.name>
>     </ChildInformation>
>     <ChildInformation>
>       <ChildInformation.name> 
>       <Name givenName="Susan" initial="B">
>         <Name.familyName>Jones</Name.familyName>
>       </Name>        
> <ChildInformation.dateOfBirth>19590717</ChildInformation.dateOfBirth>
>     </ChildInformation>
>   </PersonnelRecord.children>
>   <PersonnelRecord.number>51</PersonnelRecord.number>
> </PersonnelRecord>
> The XMI encoding allows MOF-attributes to be either 
> XML-attributes or XML-child 
> elements whose tagnames use a dot notation; normally you 
> produce one form but you 
> have to read either. Would there be XER rules that map this 
> encoding to and from 
> the example ASN.1 type definition? 

In ASN.1/XER there is no way of saying that a given component of a SEQUENCE
may be encoded "either as a child element or as an attribute".  The only way
to achieve this is by defining two components with the same type, both
marked OPTIONAL, but then there is no formal constraint that can say
"exactly one of them two must be present":

	Name ::= SEQUENCE {
        givenNameAsElem [NAME AS "Name.givenName"] UTF8String OPTIONAL,
        givenName [ATTRIBUTE] UTF8String OPTIONAL,
        initialAsElem [NAME AS "Name.initial"] UTF8String OPTIONAL,
        initial [ATTRIBUTE] UTF8String OPTIONAL,        
        familyNameAsElem [NAME AS "Name.familyName"] UTF8String OPTIONAL,
        familyName [ATTRIBUTE] UTF8String OPTIONAL

The same limitation exists in XML Schema.  If I am not mistaken, even in
RELAX NG (where it is possible to specify a choice between an element and an
attribute), you still need to include both in the pattern (so they aren't
really the *same* component).


> Pete 
> ********************************************************************
> This email and any attachments are confidential to the 
> intended recipient and may also be privileged. If you are not 
> the intended recipient please delete it from your system and 
> notify the sender. You should not copy it or use it for any 
> purpose nor disclose or distribute its contents to any other person.
> ********************************************************************
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org 
> <http://www.xml.org>, an initiative of OASIS 

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>



News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS