Merge catalog

A question about how to generate a directory using the xpp automation program, a book that includes the preface and the body, how to generate a directory between the preface and the body,
Or merge the separately generated directory between the preface and the directory of the main article (the page number between the preface and the directory needs to be obtained by the program)

For example

#system("$XyScript::XYV_EXECS/bin/divmerge -p5 DIV_catalog -cd C:/XPP/std_jobz/alljobz/CLS_book/GRP_book/JOB_book/DIV_test9");

-p5 is replaced by the program to get the title tag in DIV_test9 Page number

  • And just to add another possibility:
    In the XML world of XPP, I would say that most of the TOC's are no longer being generated by CITI, but rather by using an XSLT transformation.
    The big difference between using CITI and XSLT is that CITI is a post-process that you need to run when the job is finished.
    XSLT is a pre-process that you run during import or before the actual import in XPP.

    If your job is contained in a single division, then using XSLT will make your life a lot easier than trying to run CITI.
    If your job is split into several divisions then it will be a little big more complicated.

    And if your job is not in XML, then forget what I said...
    (XSLT can only be used with XML)

  • I generated the directory via xslt, but I don't know how to set the directory page number. Can you give me some tips?
Reply Children
  • Great...that is step 1.
    The way to get the page number in is to use cross referencing.
    Have a look at the macros rf and rx in the xymacro manual.
    You set a reference point by using the rx macro and a unique id.
    The best way to set these is to modify your style setup to include an rx in the preprocessing field of the title tags.

    In your directory you use the rf macro to reference the same unique id. You can then use the %refpg4 (and others) to generate the page number you are referering to.
    Again it is best to insert those into the pre or post processing fields of the tags you used to create the directory.

    If your xml does not contain the necessary unique ids, you can generate unique ids through xslt and include these somewhere as an extra attribute on the tags that need it. If you want to make your life easy you can do this as a step before you generate your directory. It is a bit more of an xslt challenge to do this in the same stylesheet...:-)

    Good luck!