- From: <sandygao@ca.ibm.com>
- Date: Tue, 19 Jun 2001 09:17:38 -0400
- To: xmlschema-dev@w3.org
Hi all. I'm trying to understand how to process attributes with prefix in
schema.
The following segment is from "schema for schemas":
<xs:complexType name="openAttrs">
<xs:annotation>
<xs:documentation>
This type is extended by almost all schema types
to allow attributes from other namespaces to be
added to user schemas.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
I have three questions:
1. "This type is extended by almost all schema types to allow attributes
from other namespaces to be added to user schemas." How about attributes
from the schema namespace? For example:
<xsd:element name="ele" type="xsd:string" xsd:use="invalid"/>
Is "xsd:use" considered to be the same as "use", or is it not allowed to
appear?
2. Does anyone know what are the exceptions of "almost all schema types"? I
went through all XML Representations of schema elements. It seems to me
that "{any attributes with non-schema namespace . . .}" doesn't appear in
"group", "appInfo", and "document", so I suspect that these 3 doesn't allow
attributes from other namespaces. Then I checked the schema for schemas,
but "group" seems to have two different types: groupRef and namedGroup,
where the first one extends "openAttrs" and the second one doesn't. Is this
an errata? I would think that "group" should also allow attributes from
other namespaces. (Otherwise, what makes it so different from others?)
3. Notice that processContents="lax", so it means we should validate those
attributes if we can find the declarations. Then where are we supposed to
find such declarations? Consider an example:
<xsd:schema xmlns:xsd="..." xmlns:test="test" targetNamespace="test">
<xsd:attribute name="att" type="xsd:decimal"/>
<xsd:element name="ele" test:att="invalid"/>
</xsd:schema>
Then are we supposed to validate "test:att" against the type "xsd:decimal"?
Thanks,
Sandy Gao
Software Developer, IBM Canada
(1-416) 448-3255
sandygao@ca.ibm.com
Received on Tuesday, 19 June 2001 09:17:37 UTC