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