mhammad,
I don't understand the question. You ask how to produce the output for your element, but I don't know what output you require because it's your own custom output. If you look in BpmnXMLConverter, you either need to register your own converter using something similar to this line:
addConverter(BoundaryEventXMLConverter.getXMLType(), BoundaryEventXMLConverter.getBpmnElementType(), BoundaryEventXMLConverter.class);
Or you could subclass or adapt the BoundaryEventXMLConverter class. Which is best really depends on what you want to output. In general though, at some point, you need to get hold of the XMLStreamWriter which is used in those Converter classes and produce XML nodes and/or attributes if a model object of your specific type is encountered. Also, you need to implement the reverse conversion, XML -> BPMN model to make sure your element is read back when opening the diagram.
I'm afraid you will have to provide hooks into our code at some point, but the rest of your implementation could be a separate code base you add to the existing code. We don't provide extension points for this kind of functionality, especially because this is shared code with the engine and other modules, which are not Eclipse based.