How to specify validation properties in DTDs?
Chris Maden
crism at ora.com
Tue Mar 24 15:14:17 GMT 1998
[Parik Rao]
> Hi, I'm trying to figure out how do I do parameter validation in my
> DTD. For example, I have an element which specifies a SIZE as an
> attribute. I'd like to enforce certain rules : the charaacter data
> in size is digits and the size is always less than 1,000,000 (for
> example). As far as I can figure out, there is no way to do this!
> E.g.
>
> <ATTLIST MYELEMENT
> SIZE CDATA #REQUIRED
> >
>
> Well, how do I set validation parameters for size? I tried to play
> around with entity but really couldn't come up with anything:
>
> <!ENTITY % NUMBERONLY ...now I'm stuck>
> <!ATTLIST MYELEMENT SIZE %NUMBERONLY;>
>
> Anyone done this sort of thing? Is this sort of validation beyond
> the scope of DTDs?
On the nose: this is beyond the scope of DTDs.
This kind of restriction must be specified as an application
restriction, and enforced by means outside the current scope of XML.
A stylesheet might be able to check the attribute value, and throw an
error if it doesn't conform (if the XSL WG decides to have error
handling); an XML application could check this information after the
parser parses the data.
There's also work ongoing about XML-Data, which would permit you to
specify restrictions like this. However, it's not done (or close, I
think).
-Chris
--
<!NOTATION SGML.Geek PUBLIC "-//Anonymous//NOTATION SGML Geek//EN">
<!ENTITY crism PUBLIC "-//O'Reilly//NONSGML Christopher R. Maden//EN"
"<URL>http://www.oreilly.com/people/staff/crism/ <TEL>+1.617.499.7487
<USMAIL>90 Sherman Street, Cambridge, MA 02140 USA" NDATA SGML.Geek>
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list