private void processNavitation ( final Element topicref ) { // create new map's root element final Element root = ( Element ) topicref . getOwnerDocument ( ) . getDocumentElement ( ) . cloneNode ( false ) ; // create navref element final Element navref = topicref . getOwnerDocument ( ) . createElement ( MAP_NAVREF . localName ) ; final String newMapFile = chunkFilenameGenerator . generateFilename ( "MAPCHUNK" , FILE_EXTENSION_DITAMAP ) ; navref . setAttribute ( ATTRIBUTE_NAME_MAPREF , newMapFile ) ; navref . setAttribute ( ATTRIBUTE_NAME_CLASS , MAP_NAVREF . toString ( ) ) ; // replace topicref with navref topicref . getParentNode ( ) . replaceChild ( navref , topicref ) ; root . appendChild ( topicref ) ; // generate new file final URI navmap = currentFile . resolve ( newMapFile ) ; changeTable . put ( stripFragment ( navmap ) , stripFragment ( navmap ) ) ; outputMapFile ( navmap , buildOutputDocument ( root ) ) ; }
Create new map and refer to it with navref .