Advice needed on placement of XML datatype validation methods

Ron Bourret rbourret at dvs1.informatik.tu-darmstadt.de
Thu Oct 1 15:30:34 BST 1998


Amit Rekhi wrote:
>                I am in the process of attaching datatype validation routines
> for element content in my XML file. I have come up with 2 approaches (as
> listed below)., but am not sure which is a better one.  If someone could
> give their expert opinions ....
> 
> 
> APPROACH 1
> 
> I can use NOTATIONS to identify data validation processes with element
> content. eg.
> 
> <?xml version="1.0" ?>
> <!DOCTYPE start-ele [
>    <!NOTATION Alphabet SYSTEM "AlphabetChecker.vld">
>    <!NOTATION Number SYSTEM "NumberChecker.vld">
> 
>    <!ELEMENT start-ele (#PCDATA)>
>    <!ATTLIST start-ele datatype NOTATION (Alphabet|Number) "Alphabet">
> ]>
> <start-ele datatype="Number">123</start-ele>
> 
> where AlphabetChecker.vld and NumberChecker.vld could contain  validation
> routines for checking alphabet and number datatypes.
> 
> 
> APPROACH 2
> 
> I embed my datatype validation scripts in the XSL file I attach to my XML
> data.I can embed my datatype validation scripts in HTML which will be
> outputted by my XSL file (I am using XSL to do XML -> HTML transformation)
> for elements in the XML file. In this case I could possibly use
> (JScript/VBScript/JavaScript) as languages to implement my datatype
> validation routines.
> 
> Which of the 2 approaches is better?
> 
> These 2 approaches bring out the basic questions:-
> 
>  Where to place datatype validation routines for element content, in the
> XML-DTD or in the XSL file attached to the XML data?

Of the two, I would probably use notations -- XSL is not yet finished and really 
has nothing to do with data types.  However, you should not assign the data type 
on a per-element-instance basis as your example shows.  This takes up extra 
space and is prone to errors -- element foo is a number in one case and 
alphabetic in another, which is probably not what you want.  Instead, add a dt 
attribute for each element type and assign a fixed default.  This way, the data 
type is fixed for a single element type.

Eventually, this information should go in a schema file (XSchema/DCD) and a 
validating processor (or layer) will use built-in routines to do the checking.  
If you are going to assign datatype attributes, you ought to look at/use the 
data types in DCD.

-- Ron Bourret

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