Thanks! -----Original Message----- From: Bhatra, Junaid [mailto:[EMAIL PROTECTED] Sent: Monday, October 16, 2006 8:07 PM To: [email protected] Subject: RE: FW: Schema question
Yes, like Jeff said, you reference an element using "ref" attribute and you reference a type (simple/complex) using "type" attribute, so there is no ambiguity as far as schema parsers are concerned. You can define global elements, types (simple/complex), attributes and groups in a schema. Each one of these categories is in its own domain (or namespace, for lack of a better terminology). So you can use the same name for an element, type, attribute or group. Simple & Complex types share the same domain, so you cannot simultaneously use the same name for a simpleType and complexType. - Junaid -----Original Message----- From: Jeff Greif [mailto:[EMAIL PROTECTED] Sent: Monday, October 16, 2006 9:46 AM To: [email protected] Subject: Re: FW: Schema question A complex type is referenced in schemas using type="ns:my-type-name" where ns is a prefix bound to the namespace in which the type is designed. A type and an element may have the same name. It is not possible, I think, for an ambiguity to arise within the XML Schema system itself, or in many of the specs which use it, such as WSDL. You can also have attributes and elements with the same name. However, if you invent an arbitrary attribute that can hold any qualified name, such as global-attribute-element-or-type-name="ns:some-name" you'll need some other attribute or element to hold information resolving the ambiguity. The schema parser is not involved in handling this, however. The application must deal with this ambiguity. Jeff Kedar, Shahar wrote: > Ann, > > To add to my questions below, how can a schema parser distinguish > between a reference to an {element} and to a {complexType} if they have > the same name? > > Thanks, > Shahar > > -----Original Message----- > From: Kedar, Shahar [mailto:[EMAIL PROTECTED] > Sent: Monday, October 16, 2006 2:30 PM > To: [email protected] > Subject: RE: Schema question > > Hi Ann, > > Thanks for the quick answer. Another question: > The {ref} attribute is used only to refer to a global {element}? Can it > be used to refer to a {complexType}? If so, then is it possible to > define an {element} and a {complexType} with the same name? > > Thanks, > Shahar. > > -----Original Message----- > From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] > Sent: Monday, October 16, 2006 1:25 PM > To: [email protected] > Subject: Re: Schema question > > You may define a particular element only once in a schema, so if the > element is used in multiple places, you must define it as a global and > reference it from the various types that use it. (Only global elements > can be referenced.) Or perhaps you want to allow the element to be > used both as a root element and as a child element in another element. > > Here's an example: > > <s:element name="foo" type="s:string"/> > <s:element name="foobar" type="tns:foobarType"/> > <s:complexType name="foobarType"> > <s:sequence> > <s:element ref="tns:foo"/> > <s:element name="bar" type="s:string"/> > </s:sequence> > </s:complexType> > > Anne > > > On 10/15/06, Kedar, Shahar <[EMAIL PROTECTED]> wrote: > >> >> >> Hi, >> >> >> >> Can someone explain to me when and where the {ref} attribute should be >> > used > >> inside an XML schema? Also, is it valid for an {element} to refer to a >> different {element} and not a {type}? >> >> >> >> Thanks, >> >> Shahar. >> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
