If you don't need to reuse a complex type, it may be faster to create an anonymous complex type within the element declaration.
File: Schema..xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.java2s.com" xmlns="http://www.java2s.com"
elementFormDefault="qualified">
<xsd:element name="characteristics">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="weight" type="xsd:string" />
<xsd:element name="length" type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="kind" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
File: Data.xml
<?xml version="1.0"?>
<characteristics xmlns="http://www.java2s.com" kind="physical">
<weight>3 points</weight>
<length>3 years</length>
</characteristics>