When using a name, it has to be in the namespace where the construct is defined.
An element name must be in the namespace of the schema for which it is declared.
But they are QNames so you need to declare the namespaces just like in XSLT.
Example: "my:name"
The local name is 'name'.
The namespace name is the URI to which the prefix 'my' resolves.
So, you should re-declare your target namespace:
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='urn:publicid:IDN+cde.berkeley.edu:...' xmlns:my='urn:publicid:IDN+cde.berkeley.edu:...'> ... </xs:schema>