Return identity details for the element as XML nodes

def _as_rdf_xml(self, ns):
        """
        Return identity details for the element as XML nodes
        """
        self.rdf_identity = self._get_identity(ns)
        elements = []
        elements.append(ET.Element(NS('sbol', 'persistentIdentity'),
                                   attrib={NS('rdf', 'resource'):
                                           self._get_persistent_identitity(ns)}))
        if self.name is not None:
            name = ET.Element(NS('dcterms', 'title'))
            name.text = self.name
            elements.append(name)
        if self.display_id is not None:
            display_id = ET.Element(NS('sbol', 'displayId'))
            display_id.text = self.display_id
            elements.append(display_id)
        if self.version is not None:
            version = ET.Element(NS('sbol', 'version'))
            version.text = self.version
            elements.append(version)
        if self.was_derived_from is not None:
            elements.append(ET.Element(NS('prov', 'wasDerivedFrom'),
                                       attrib={NS('rdf', 'resource'): self.was_derived_from}))
        if self.description is not None:
            description = ET.Element(NS('dcterms', 'description'))
            description.text = self.description
            elements.append(description)
        for a in self.annotations:
            elements.append(a._as_rdf_xml(ns))
        return elements