Product SiteDocumentation Site

4.2. Distributed Sets

A Distributed Set contains books that are located in SVN. By setting the repository location and titles of the included books in the Makefile, each book can be exported to build the entire set. The procedure that follows will guide you through the process of creating a set named My Set containing Book A and Book B.

Important

The following procedure assumes that Book A and Book B already exist and are available in your SVN repository. Currently publican only supports SVN.
Procedure 4.2. Creating a Set
  1. Run the following command in a shell to create a set named My_Set branded in the Red Hat style.
    $ create_book --type=Set --name=My_Set --brand=RedHat
    
  2. Uncomment the following lines in the Makefile from:
    #BOOKS		= My_Other_Book His_Book Her_Book Their_Book
    #SET_REPO	= http://svn.repo.com/repos/project
    #SET_REPO_TYPE	= SVN
    ...
    #pre:: get_books set_books
    #clean:: clean_set_books
    
    to :
    BOOKS 		= Book_A Book_B
    SET_REPO	= http://PATH-TO-YOUR-SVN-REPOSITORYSET_REPO_TYPE	= SVN
    ...
    pre:: get_books set_books
    clean:: clean_set_books
    
  3. Open the My_Set.xml file in an editor. For each book in the set, add an xi:include reference to the primary xml file from the book. The primary xml file for Book A will be Book_A.xml and for Book B, Book_B.xml. The My_Set.xml file should now look like this:
    <?xml version="1.0"?>
    <!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 
    "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
    ]>
    
    <set>
    	<xi:include href="Set_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    	<xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    	<xi:include href="Book_A/Book_A.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    	<xi:include href="Book_B/Book_B.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    	<xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    </set>
    
    
  4. Test your set by running the make test-en-US command.

    Important

    When building a set, the make clean_ids command will be run over each book because of the constraint that ID's must be unique across all books. Be careful of creating IDs that rely on content that may not be available when building books independently of the set.