[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] xsd:anyType and xsd:any
- From: "Shlomo Yona" <S.Yona@F5.com>
- To: <noah_mendelsohn@us.ibm.com>
- Date: Tue, 20 Mar 2007 09:29:38 -0700
Hello, and thanks for your detailed answer.
Actually, reading the references that you listed got me into this confusion...
OK. So, both xsd:any and xsd:anyType refer to a subtree. While the default parseContents for xsd:any is "strict" the parseContents for xsd:anyType is "skip"?
How can I tell the default parseContents of such "joker" or "wildcard" definitions?
Thanks.
Shlomo.
-----Original Message-----
From: noah_mendelsohn@us.ibm.com [mailto:noah_mendelsohn@us.ibm.com]
Sent: â 20 îøõ 2007 17:36
To: Shlomo Yona
Cc: xml-dev@lists.xml.org
Subject: Re: [xml-dev] xsd:anyType and xsd:any
Shlomo Yona asks:
> I was not able to fully understand the difference between an xsd:any
> and an element with a type xsd:anyType.
Very different. xsd:anyType is a type, like xsd:integer (though
xsd:anyType is special in that it can act as a simple or complex type, and
it places essentially no restrictions on the tree that it validates --
thing of it loosely as the Schema language's analog of java.lang.Object).
A sample use would be:
<xsd:element name="e" type="xsd:anyType"/>
This would mean that elements named <e> can have any content, any
attributes, etc.
xs:any is a wildcard, usable as a term in a content model. For example:
<xsd:complexType name="T">
<xsd:sequence>
<xsd:element ref="A"/>
<xsd:any />
<xsd:element ref="C"/>
</xsd:sequence>
</xsd:complexType>
Elements of type T must have content <A/><???/><C/>, where <???> can be
any named element. Now, if you look really closely there is an
approximation to the definition of xsd:anytType given for reference in the
Recommendation, and it uses an xsd:any wildcard as the means of saying
that it allows any elements.
I hope you'll see that most of your questions are answered once you get
the above straight. I would encourage you to carefully read the schema
primer [1], or some of the good books on W3C XML Schema (Priscilla
Walmsley's is among the one's that's very well respected. [2]).
Noah
[1] http://www.w3.org/TR/xmlschema-0/
[2]
http://www.amazon.com/Definitive-XML-Schema-Priscilla-Walmsley/dp/0130655678/ref=sr_1_1/103-2086530-8739813?ie=UTF8&s=books&qid=1174404823&sr=8-1
--------------------------------------
Noah Mendelsohn
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------
"Shlomo Yona" <S.Yona@F5.com>
03/20/2007 11:08 AM
To: <xml-dev@lists.xml.org>
cc: (bcc: Noah Mendelsohn/Cambridge/IBM)
Subject: [xml-dev] xsd:anyType and xsd:any
Hello,
I was not able to fully understand the difference between an xsd:any and
an element with a type xsd:anyType.
Is there any difference?
Do both wildcard methods refer to any child element(s) or does one or both
refer to a wildcard subtree?
What should be the parse mode (parserContents) for processing xsd:anyType?
Should is be same as xsd:any’s “skip” or “lax” or “strict” or perhaps to
something else?
The section 3.4.7 Built-in Complex Type Definition (in
http://www.w3.org/TR/xmlschema-1/) says, if I understand correctly, that
the subtree should be processed in “lax”. Is that so?
What’s the difference, if any between the following wildcard definitions
(with regards to the depth of subtree they refer to, the processing mode
and any other issue):
· xsd:any
· element definition with type=”xsd:anyType”
· a complexContent that has a restriction base=”xsd:anyType” with
an xsd:anyAttribute namespace=”##other” and processorContents=”lax”
· a complexContent that has a restriction base=”xsd:anyType” with
an xsd:anyAttribute namespace=”##other” and processorContents=”skip”
Thanks.
Shlomo.
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]