- From: <noah_mendelsohn@us.ibm.com>
- Date: Sat, 2 Mar 2002 14:13:23 -0500
- To: Rich Salz <rsalz@zolera.com>
- Cc: xml-dist-app@w3.org
See Scott Cantor's answer. xsd:integer is what schemas calls a "simple" type. When used on an element, it allows no attributes, except for xsi:type itself, xsi:nil, maybe xsi:schemaLocation (I can't remember and don't have the spec here). So, ID= is not valid on an element of any simple type. You need something like: <xsd:complexType name="integerWithID"> <xsd:simpleContent> <xsd:extension base="xsd:integer"> <xsd:attribute name="ID" type="xsd:id" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> Again, I'm doing this from memory, so I may have some details in the above schema wrong. You could also make the ID attribute optional. It's an extension because it allows elements not allowed by integer itself (I.e. it allows the attribute too.) Anything with attributes is by definition a complex type. Integer is a simple type. ------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 IBM Corporation Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------ Rich Salz <rsalz@zolera.com> 03/01/2002 03:16 AM To: noah_mendelsohn@us.ibm.com cc: xml-dist-app@w3.org Subject: Re: xsi:type for multiref targets. > <target id="x" xsi:type="xsd:integer">25</target> > Well, that doesn't work! The element named target is not of type integer, > because it has an attribute (id="). I must be dense. Why? Please use little words. -- Zolera Systems, Securing web services (XML, SOAP, Signatures, Encryption) http://www.zolera.com
Received on Saturday, 2 March 2002 14:27:42 UTC