[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [xml-dev] Help regarding an XML attribute.
- From: Huy-Lan Phan <Huylanp@Oceanwide.com>
- To: Vance Christiaanse <cintech@twcny.rr.com>,Eddie Robertsson <eddie@allette.com.au>
- Date: Tue, 16 Oct 2001 13:27:22 -0400
Vance, to further comment on your last statement.
U're correct saying that the complexContent should not
be used with the extension element, even if XML Spy
does not give an error.
If you validate the same schema using Microsoft MSXML2.Schema
then Microsoft will give an error, as opposed to XML Spy.
Further more, the 2 XML schemas that you said are illegal even
though XMLSpy accepts them, will give an error if using Microsoft
MSXML2.Schema validation.
So in this case, I believe Microsoft's XML implementation is more
accurate than XMLSpy's.
Thanks.
Lan.
> -----Original Message-----
> From: Vance Christiaanse [mailto:cintech@twcny.rr.com]
> Sent: Tuesday, October 16, 2001 10:23 AM
> To: Eddie Robertsson
> Cc: Ronald Bourret; Wayne Steele; Huylanp@oceanwide.com;
> xml-dev@lists.xml.org
> Subject: RE: [xml-dev] Help regarding an XML attribute.
>
>
> Eddie Robertsson wrote a few messages ago:
>
> > ... To create a text only content complex type with one or more
> > attributes you must _extend_ a simple type. So, the correct
> definition
> > would be:
>
> > <xsd:complexType ...>
> > <xsd:complexContent>
> > <xsd:extension base="xsd:string">
> > <xsd:attribute .../>
> > </xsd:extension>
> > </xsd:complexContent>
> > </xsd:complexType>
>
> This was to correct my definition, which had "restriction"
> where this one
> has "extension".
>
> My definition was definitely wrong to use "restriction"... so
> wrong that
> after spending more time thinking and studying than I'd like
> to admit, I
> couldn't even come up with a rational *excuse* for my error.
>
> While studying the spec, especially the section Eddie referenced, I
> concluded I was also wrong to use complexContent. The
> following appears in
> the spec immediately before the quote in Eddie's message:
>
> > If the <complexContent> alternative is chosen, the type definition
> > ·resolved· to by the ·actual value· of the base [attribute] must be
> > a complex type definition;
>
> It now seems as though the definition earlier in this message is still
> incorrect and the following is correct:
>
> <xsd:complexType ...>
> <xsd:simpleContent> <!-- Change 1 of 2 -->
> <xsd:extension base="xsd:string">
> <xsd:attribute .../>
> </xsd:extension>
> </xsd:simpleContent> <!-- Change 2 of 2 -->
> </xsd:complexType>
>
> We all agree now that "extension" is correct and "restriction" is not
> correct.
>
> Do we also agree that "simpleContent" is correct and
> "complexContent" is not
> correct?
>
> Vance
>
> PS: I agree that both schemas below that XML Spy 4.0.1
> accepted are, indeed,
> illegal.
>
> > -----Original Message-----
> > From: Eddie Robertsson [mailto:eddie@allette.com.au]
> > Sent: Monday, October 15, 2001 11:35 PM
> > To: Vance Christiaanse
> > Cc: Ronald Bourret; Wayne Steele; Huylanp@oceanwide.com;
> > xml-dev@lists.xml.org
> > Subject: Re: [xml-dev] Help regarding an XML attribute.
> >
> >
> > > an attribute element is allowed
> > > within either a restriction element or an extension
> element that is
> > > within either a simpleContent element or a complexContent
> > element that is
> > > within a complexType element. (At least that's how I read it.)
> >
> > Yes, an attribute element is allowed within a restriction element
> > but _only_
> > if the type in the base attribute resolves to a complex type.
> > The spec [1] reads:
> >
> > "If the <simpleContent> alternative is chosen, the type
> > definition ·resolved·
> > to by the ·actual value· of the base [attribute] must be either a
> > complex type
> > definition whose {content type} is a simple type definition or,
> > only if the
> > <extension> alternative is also chosen, a simple type definition;"
> >
> > This says that the type resolved to by the base attribute
> can only be a
> > simpleType if the extension alternative is chosen.
> >
> > > Both of the following are judged legal by XML Spy 4.0.1.
> > >
> > > In other words, I think my original schema is legal.
> >
> > I might be reading the spec wrong but I believe the schema below
> > is in error
> > and XML Spy is wrong.
> >
> > Cheers,
> > /Eddie
> >
> > [1]
> > http://www.w3.org/TR/xmlschema-1/#section-Constraints-on-XML-Repre
> > sentations-of-Complex-Type-Definitions
> >
> >
> >
> > > But I might agree that using simpleContent and extension
> is probably the
> > > most intuitive way to write this.
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > > elementFormDefault="qualified" attributeFormDefault="unqualified">
> > > <xs:element name="myOuter">
> > > <xs:complexType>
> > > <xs:complexContent>
> > > <xs:restriction base="xs:string">
> > > <xs:attribute name="color" type="xs:string"/>
> > > </xs:restriction>
> > > </xs:complexContent>
> > > </xs:complexType>
> > > </xs:element>
> > > </xs:schema>
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > > elementFormDefault="qualified" attributeFormDefault="unqualified">
> > > <xs:element name="myOuter">
> > > <xs:complexType>
> > > <xs:simpleContent>
> > > <xs:restriction base="xs:string">
> > > <xs:attribute name="color" type="xs:string"/>
> > > </xs:restriction>
> > > </xs:simpleContent>
> > > </xs:complexType>
> > > </xs:element>
> > > </xs:schema>
> > >
> > > > -----Original Message-----
> > > > From: Eddie Robertsson [mailto:eddie@allette.com.au]
> > > > Sent: Monday, October 15, 2001 7:57 PM
> > > > To: Vance Christiaanse
> > > > Cc: Ronald Bourret; Wayne Steele; Huylanp@oceanwide.com;
> > > > xml-dev@lists.xml.org
> > > > Subject: Re: [xml-dev] Help regarding an XML attribute.
> > > >
> > > >
> > > > > <xsd:complexType ...>
> > > > > <xsd:complexContent>
> > > > > <xsd:restriction base="xsd:string">
> > > > > <xsd:attribute .../>
> > > > > </xsd:restriction>
> > > > > </xsd:complexContent>
> > > > > </xsd:complexType>
> > > >
> > > > Not exactly. To create a text only content complex type with
> > one or more
> > > > attributes you must _extend_ a simple type. So, the
> correct definition
> > > > would be:
> > > >
> > > > <xsd:complexType ...>
> > > > <xsd:complexContent>
> > > > <xsd:extension base="xsd:string">
> > > > <xsd:attribute .../>
> > > > </xsd:extension>
> > > > </xsd:complexContent>
> > > > </xsd:complexType>
> > > >
> > > > Cheers,
> > > > /Eddie
> > > >
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Ronald Bourret [mailto:rpbourret@rpbourret.com]
> > > > > > Sent: Monday, October 15, 2001 2:20 PM
> > > > > > To: Wayne Steele
> > > > > > Cc: Huylanp@Oceanwide.com; xml-dev@lists.xml.org
> > > > > > Subject: Re: [xml-dev] Help regarding an XML attribute.
> > > > > >
> > > > > >
> > > > > > Wayne Steele wrote:
> > > > > > >
> > > > > > > >From: Huy-Lan Phan <Huylanp@Oceanwide.com>
> > > > > > > ... I think only a complex element can have attributes ...
> > > > > > >
> > > > > > > You are correct. Only a complex element can have
> attributes.
> > > > > >
> > > > > > But don't forget that a complex type can have
> simple content.
> > > > > >
> > > > > > <complexType>
> > > > > > <simpleContent>
> > > > > > <restriction base="xsd:string" />
> > > > > > </simpleContent>
> > > > > > <attribute>...</attribute>
> > > > > > ...
> > > > > > </complexType>
> > > > > >
> > > > > > -- Ron
> > > > > >
> > > > > >
> -----------------------------------------------------------------
> > > > > > The xml-dev list is sponsored by XML.org
<http://www.xml.org>, an
> > > > > initiative of OASIS <http://www.oasis-open.org>
> > > > >
> > > > > The list archives are at http://lists.xml.org/archives/xml-dev/
> > > > >
> > > > > To subscribe or unsubscribe from this elist use the subscription
> > > > > manager: <http://lists.xml.org/ob/adm.pl>
> > > > >
> > > >
> > > > -----------------------------------------------------------------
> > > > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> > > > initiative of OASIS <http://www.oasis-open.org>
> > > >
> > > > The list archives are at http://lists.xml.org/archives/xml-dev/
> > > >
> > > > To subscribe or unsubscribe from this elist use the subscription
> > > > manager: <http://lists.xml.org/ob/adm.pl>
> > >
> > >
>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this elist use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>