[
Lists Home |
Date Index |
Thread Index
]
Well I am using w3c specified schema language.
<![CDATA[aaa]]> does specify whether aaa is a text data or numeric
data.
No, you misunderstand the purpose of the CDATA section, CDATA is a
purely syntactic construct, it's _only_ purpose is to tell the parser
that < and & are to be treated as character data rather than markup.
It doesn't affect the interpretation of any other characters apart from
those two.
<a><![CDATA[aaa]]></a>
is the same as
<a>aaa</a>
<a><![CDATA[a<aa]]></a>
is the same as
<a>a<aa</a>
In XPath or the Infoset or a schema validation input these will be
reported identically. DOM and some other API may report that a CDATA
syntax was used, but that's mainly for use in editing constructs where
you want to preserve the syntax that the author used.
W3C schema allows you to specify that the content of an element matches
a regular expression or the syntax of a specified numeric type, but this
checking happens _after_ the XML parse, so you can not constrain
syntactic features in a schema.
If you specify that <a> takes an integer then
<a>123</a> is valid and
<a>zzz</a>
is invalid
but for example
<a><![CDATA[123]]></a> is valid (as it is identical to the first one) as
is
<!DOCTYPE a [
<!ENTITY foo "2">
]>
<a>&foo;3</a>
which is similarly produces the same input to a schema validator.
> I
> expect that whatever there in CDADA or Text node is a numeric or byte
> etc...
XML content is never "bytes" it is always characters. The use of a CDATA
section doesn't change that.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
|