Subject: | <xsd:extension base="myComplexType"> forgets attributes |
<xsd:element name="myElement">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="myComplexType">
<xsd:attribute name="myAttribute" type="xsd:integer"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
will lose its attribute. To fix, add this line to RootNode.pm, line 116:
$new_node->{attr} = [ @{ $new_node->{attr} || [] }, @{ $element->{attr} || [] } ];
This will copy the attributes from the orginal element to the copy of the type that was made.