- From: Eric van der Vlist <vdv@dyomedea.com>
- Date: Thu, 20 Sep 2001 15:07:14 +0200
- To: Rahul Srivastava <Rahul.Srivastava@Sun.COM>
- Cc: xmlschema-dev@w3.org
Rahul Srivastava wrote: > Thanks a ton Eric. :-) > > I have one more question, but, let me repeat my understanding first. > namespace = ##any | > ##other | > ListOf(anyURI , ##targetNamespace?) | > ListOf(anyURI , ##local?) > > where anyURI is a *set* of URI's and the '?' suffixed means optional. No, anyURI stands here for the datatype "xs:anyURI". The list can thus contain any value matching the xs:anyURI datatype or the special values ##targetNamespace and ##local. Technically, the list is a list of the union between xs:anyURI and the enumeration ##targetNamespace and ##local. > Q:I am not very clear about 3.10.6. I mean, when will such case occur?. Given a > case the spec explains very well how to compute wildcard subset, attribute > wildcard union or intersection. But... > > Can you or anybody else can explain this. ##any and ##other are wildcards for an infinite list of URIs (resp. any URI or any URI other than the one of the target namespace). One one of them is used, it would be meaningless to define a list. When they are not used, you need to provide a list of URIs you want to allow. You do this by giving an explicit list in which you may use ##targetNamespace and ##local if you find it useful. If your target namespace is "http://target.namespace.com", writing ##targetNamespace will be equivalent to writing "http://target.namespace.com". It's just an alternative which may be preferable if your schema may be included and reused for several target namespace. Hope this helps. Eric > > Cheers, > Rahul. > > > > >>Date: Thu, 20 Sep 2001 14:16:58 +0200 >>From: Eric van der Vlist <vdv@dyomedea.com> >> >>Hi, >> >>Rahul Srivastava wrote: >> >> >>>Hi, >>> >>>I am sorry if this question has been asked before on this list. >>> >>>In the spec, 3.10.2, describing wildcard, it says: >>> >>>namespace = ((##any | ##other) | List of (anyURI | (##targetNamespace | >>> > ##local)) ) > >>>Here, actually the brackets confuse me!. Can I represent the above as: >>> >>>namespace = ##any | ##other | ListOf( anyURI | ##targetNamespace | ##local) >>> >> >>Yes. I wasn't under the table, but my guess is that the brackets are >>coming from the way the schema for schema (from which most of the rec is >>generated) is defined but they are useless since >> >>(a or b) or c == a or b or c. >> >> >> >>>If no, what meaning do these brackets add?. >>>If yes, then the above means, namespace can be either ##any or ##other or >>> > ListOf(...) > >>>where, ListOf( anyURI | ##targetNamespace | ##local) means >>>ListOf( anyURI ) or ListOf( ##targetNamespace) or ListOf( ##local ) >>> >> >>No. >> >> >>It's a list of (anyURI or one of the special strings ##targetNamespace >>or ##local) that can be combined together. >> >>i.e. "##targetNamespace http://foo.bar" is valid. >> >>Hope this helps. >> >>Eric >> >> >> >>>Now, my question is, if the above holds true, what is the meaning of ListOf( >>>##targetNamespace ) or ListOf( ##local ) as they are single values. >>> >>>Cheers, >>>Rahul. >>> >>> >>> >>> >>> >> >> >>-- >>See you in Scottsdale, Arizona. >> http://xmlconnections.com/xml/xmlfall2001/speakers.asp#evandervlist >>------------------------------------------------------------------------ >>Eric van der Vlist http://xmlfr.org http://dyomedea.com >>http://xsltunit.org http://4xt.org http://examplotron.org >>------------------------------------------------------------------------ >> >> > > > -- See you in Scottsdale, Arizona. http://xmlconnections.com/xml/xmlfall2001/speakers.asp#evandervlist ------------------------------------------------------------------------ Eric van der Vlist http://xmlfr.org http://dyomedea.com http://xsltunit.org http://4xt.org http://examplotron.org ------------------------------------------------------------------------
Received on Thursday, 20 September 2001 09:07:14 UTC