Subject: Re: [xsl] alternate attribute types in xsd|
From: "Andre Cusson akhu01@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 11 Aug 2017 22:35:21 -0000
Hi Patrik, Well at least you managed to transfer some of that knowledge to me. It is all working fine now. Even better than I hoped. I also managed to somewhat improve my understanding of XSD. Thank you very much for your time and patience. Regards, ac 2017-08-11 0:43 GMT-05:00 Dr. Patrik Stellmann patrik.stellmann@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>: > Hi Andre, > > > > Just as the derived types added the @type attribute they can add any number of attributes - e.g. @phase: > > [...] > > <xs:complexType name="res-thing"> > > <xs:complexContent> > > <xs:extension base="res-base"> > > <xs:attribute name="type" type="thing-type"/> > > <xs:attribute name="phase" type="thing-phase"/> > > </xs:extension> > > </xs:complexContent> > > </xs:complexType> > > <xs:complexType name="res-being"> > > <xs:complexContent> > > <xs:extension base="res-base"> > > <xs:attribute name="type" type="being-type"/> > > <xs:attribute name="phase" type="being-phase"/> > > </xs:extension> > > </xs:complexContent> > > </xs:complexType> > > [...] > > <xs:simpleType name="being-phase"> > > <xs:restriction base="xs:NMTOKEN"> > > <xs:enumeration value="being-phase-1"/> > > <xs:enumeration value="being-phase-2"/> > > </xs:restriction> > > </xs:simpleType> > > <xs:simpleType name="thing-phase"> > > <xs:restriction base="xs:NMTOKEN"> > > <xs:enumeration value="thing-phase-1"/> > > <xs:enumeration value="thing-phase-2"/> > > </xs:restriction> > > </xs:simpleType> > > </xs:schema> > > > > BTW: I never considered my approach to be anything special. It's simply I understood the alternate types are meant to be used... > > > > Regards, > > > > Patrik > > > >> > > ------------------------------------------------------------------ > > Systemarchitektur & IT-Projekte > > Tel: +49 40 33449-1142 > > Fax: +49 40 33449-1400 > > E-Mail: mailto:Patrik.Stellmann@xxxxxxxxx > > > > -----UrsprC<ngliche Nachricht----- > >> Von: Andre Cusson akhu01@xxxxxxxxx [mailto:xsl-list- > >> service@xxxxxxxxxxxxxxxxxxxxxx] > >> Gesendet: Freitag, 11. August 2017 04:22 > >> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > >> Betreff: Re: [xsl] alternate attribute types in xsd > >> > >> Dear Dr Stellmann, > >> > >> While it seems unfortunate that XSD (e.g. 1.1) does not support conditional > >> attribute types, some subscribers to this list have suggested interesting > >> workarounds. > >> The RELAX NG approach suggested by Syd Bauman, seems especially elegant, > >> expressive, and powerful. > >> Unfortunately, the availability of common high performance RELAX NG validators > >> seems like an issue for this application. > >> > >> While seemingly somewhat deliciously devious, your XSD approach is certainly > >> very interesting. > >> I would be just about to use it but there seems to be one more consideration that > >> was unfortunately not obvious from the simplified example I provided. > >> I would like to it submit to you, and others possibly, in the hope that you could > >> further help resolve it. > >> > >> The issue is that the res element in the model I am trying to put together has more > >> attributes, including 4 more, currently, for which, like the @type attribute in the > >> example, the attribute type also depends on the value of the @class attribute. > >> Luckily, for now still, I do not need cascading conditional types, as all five of > >> these attributes depend on the value of the same @class attribute. > >> In other words, there are attributes like @status, @phase, @mode, @group, for > >> example, which are enumerations also, just like for the @type attribute, and that > >> each depend on the value of the @class attribute. > >> > >> For example, for the @phase attribute, there could be a thing-phase-type as well > >> as a being-phase-type, whether @class="thing" > >> or @class="being", and so on. > >> > >> I can imagine that I could possibly define square(# of conditional-attributes, e.g. > >> 25) extension types and try to figure out some way to assign them some, but it > >> seems less obvious than I would hope. > >> > >> Is there a way to express this type of conceptually conditional attributes in XSD? > >> > >> If so, how would you handle having just one more @class dependent attribute type > >> (e.g. @phase)? > >> > >> Thank you for your support, your time, and for an interesting and creative example > >> use of XSD. > >> > >> Regards, > >> > >> ac > >> > > > > GDV Dienstleistungs-GmbH > > GlockengieCerwall 1 > > D-20095 Hamburg > > www.gdv-dl.de > > > > Sitz und Registergericht: Hamburg > > HRB 145291 > > USt.-IdNr : DE 205183123 > > > > GeschC$ftsfC<hrer: > > Dr. Jens Bartenwerfer > > Michael Bathke > > Fred di Giuseppe Chiachiarella > > Thomas Fischer > > > > Aufsichtsratsvorsitzender: Werner Schmidt > > > > ------------------------------------------------------------------ > > Diese E-Mail und alle AnhC$nge enthalten vertrauliche und/oder rechtlich geschC<tzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtC<mlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese E-Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe der E-Mail ist nicht gestattet. > > > > This e-mail and any attached files may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.