private void writeBookIndex()

in src/main/java/org/apache/maven/doxia/book/services/renderer/XdocBookRenderer.java [164:215]


    private void writeBookIndex( File index, BookModel book, BookContext context )
        throws IOException
    {
        Writer writer = WriterFactory.newXmlWriter( index );

        XdocSink sink = new IndexXdocBookSink( writer, context.getIndex().getFirstEntry(), i18n, context.getLocale() );

        try
        {
            // -----------------------------------------------------------------------
            // Head
            // -----------------------------------------------------------------------

            sink.head();

            sink.title();
            sink.text( book.getTitle() + " - " + getString( context.getLocale(), "toc" ) );
            sink.title_();

            sink.head_();

            // -----------------------------------------------------------------------
            // Body
            // -----------------------------------------------------------------------

            sink.body();

            sink.section1();
            sink.sectionTitle1();
            sink.text( book.getTitle() + " - " + getString( context.getLocale(), "toc" ) );
            sink.sectionTitle1_();

            sink.list();
            for ( IndexEntry entry : context.getIndex().getChildEntries() )
            {
                writeChapterIndexForBookIndex( sink, entry );
            }
            sink.list_();

            sink.section1_();

            sink.body_();
        }
        finally
        {
            sink.flush();

            sink.close();

            IOUtil.close( writer );
        }
    }