XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] Brain Teaser: Element Author is of type xsd:string, what's an illegal value of Author?


I thought your answer was going to be that the XML Schema spec requires a
string to be finite length whereas the XML spec allows the content of an
element to be of infinite length; but a validator might take a long time to
report the error...

The invalid strings you list cannot appear in XML 1.0 documents, only in XML
1.1.

There's a W3C note on handling XML 1.1 with XML Schema:

http://www.w3.org/TR/xml11schema10/

and it recommends (see the last line of the note) that with that
combination, the definitions of the built-in types should be "stretched" to
accommodate the characters allowed in XML 1.1. With that strategy, there
will never be an invalid instance of xs:string.

Michael Kay
http://www.saxonica.com/


> -----Original Message-----
> From: Costello, Roger L. [mailto:costello@mitre.org] 
> Sent: 09 February 2007 12:59
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] Brain Teaser: Element Author is of type 
> xsd:string, what's an illegal value of Author?
> 
> Hi Folks,
> 
> [This may be obvious to you.  It wasn't to me, so I thought 
> that I'd share my insight.]
> 
> Suppose I declare an Author element to be of type string:
> 
> <xsd:element name="Author" type="xsd:string" />
> 
> Then I create an XML instance document:
> 
> <?xml version="1.0"?>
> <Book>
>         <Author>...</Author>
> </Book>
> 
> Question: what is an invalid (non-string) value for <Author>?
> 
> If the Author contains "<" or "@"
> 
>        <Author> if A < B then </Author>
> 
> then it is not well-formed.  However, that's not the same 
> thing as giving Author a non-string value.
> 
> So what's the answer?  Doesn't "string" mean that Author can 
> contain anything, and there are no illegal values for Author?
> 
> Scroll down to see the answer.....
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> These are the characters that comprise the string datatype 
> (these are the hex values of the characters):
> 
> #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
> 
> Thus, an illegal value of Author is any character that falls 
> outside this set of characters.  For example, this is illegal:
> 
>        <Author>&#x8;</Author>
> 
> because hex 8 is not in the above list of hex values.  But hex 9 is
> allowed:
> 
>        <Author>&#x9;</Author>
> 
> So, these are all illegal values of Author:
> 
> &#x0;  &#x1;   &#x2;  &#x3;    &#x4;    &#x5;    &#x6;     &#x7;
> &#x8;    &#xB;  
> &#xC;  &#xE;  &#xF;  &#x11;  &#x12;  &#x13;  &#x14;   &#x15;  &#x16;
> &#x17;  &#x18;  &#x19;  &#x1A;   &#x1B;  &#x1C;  &#x1D;  
> &#x1E;  &#x1F;
> ...
> 
> ______________________________________________________________
> _________
> 
> XML-DEV is a publicly archived, unmoderated list hosted by 
> OASIS to support XML implementation and development. To 
> minimize spam in the archives, you must subscribe before posting.
> 
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org List archive: 
> http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS