[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Datatype constraints in DCDs

  • From: Murray Maloney <murray@m...>
  • To: <xml-dev@i...>
  • Date: Fri, 9 Oct 1998 16:38:36 -0400

what datatype of the color
At 02:09 PM 10/9/98 -0400, Dean Roddey wrote:
>
>><AttributeDef Name="Colour" Datatype="string">
>>    <ValidIf rule="Equals" value="Red"/>
>>    <ValidIf rule="Equals" value="Green"/>
>>    <ValidIf rule="Equals" value="Blue"/>
>></AttributeDef>
>>
>
>It looks like the consensus is definitely that the more wordy XML encoding of
>the constraint information is preferable. And I'm not too stressed out about
>that, since I won't be the one reading them anyway :-) But I would question the
>above scheme for enumerations. There was some desire to replace the proposed
>DCD enumeration mechanism, but I think the above scheme would get way wordy
>just to (for instance) check that something was one of the months of the year,
>one of the possible XML encodings, one of the countries of the world, etc...
>I'd definitely like to have some way to get the possible values all into some
>slightly less versbose chunk. Even if human convenience is not an issue,
>bandwidth still remains a concern, right?
>
>I'd almost, in the name of reuse, argue for an EnumDecl that defined such enums
>for reuse by name, though someone might easily poke holes in that argument
>because I've not thought it out.

In SOX, we have one form of datatype declaration that specifies
an enumeration of values. So, for example:

<datatype name="color">
    <enumeration datatype="NMTOKEN">
        <option>red</option>
        <option>green</option>
        <option>blue</option>
    </enumeration>
</datatype>

Now you can write:

<attdef name="colour" datatype="color" />

and the "colour" attribute is constrained to be one
of the three values enumerated in the "color" datatype.
And you can use the "color" datatype on any attribute
or any element whose content model is string.

<elementtype name="colour">
	<model>
		<string datatype="color" />
	</model>
</elementtype>

Truth is, in this case one would probably want something 
more like this:

<interface name="rgb">
	<attdef name="red" datatype="RGB"><required/></attdef>
	<attdef name="green" datatype="RGB"><required/></attdef>
	<attdef name="blue" datatype="RGB"><required/></attdef>
</interface>

<datatype name="RGB">
	<scalar minvalue="0" maxvalue="65535" decimals="0" />
</datatype>

The interface can be attached to any element as a collection
of attribute definitions. 


<elementype name="colour">
	<empty/>
	<implements name="rgb"/>
</elementtype>

The value of each attribute must be a number (scalar) in the 
range 0-65535 (0000-FFFF). So, you would write an instance thus:

<colour red="255" green="255" blue="255"/>

Regards,

Murray



Murray Maloney, Esq.          Phone: (905) 509-9120
Muzmo Communication Inc.      Fax:   (905) 509-8637
671 Cowan Circle              Email: murray@m...
Pickering, Ontario 		Email: murray@y...
Canada, L1W 3K6    		

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.