The ro.sync.ecss.extensions.api.UniqueAttributesRecognizer interface can be implemented if you want to provide for your framework the following features:
/** * Assign unique IDs between a start * and an end offset in the document * @param startOffset Start offset * @param endOffset End offset */ void assignUniqueIDs(int startOffset, int endOffset); /** * @return true if auto */ boolean isAutoIDGenerationActive();
/** * Check if the attribute specified by QName can * be considered as a valid attribute to copy * when the element is split. * * @param attrQName The attribute qualified name * @param element The element * @return true if the attribute should be copied * when Split is performed. */ boolean copyAttributeOnSplit(String attrQName, AuthorElement element);
The ro.sync.ecss.extensions.commons.id.DefaultUniqueAttributesRecognizer class is an implementation of the interface which can be extended by your customization to provide easy assignation of IDs in your framework. You can also check out the DITA and Docbook implementations of ro.sync.ecss.extensions.api.UniqueAttributesRecognizer to see how they were implemented and connected to the extensions bundle.