DITA and XMetaL Discussion

XMetaL Community Forum DITA and XMetaL Discussion Using a ditaval file in a 64bit system

  • mmoulder

    Using a ditaval file in a 64bit system

    Participants 5
    Replies 6
    Last Activity 12 years ago

    I am using xmetal 6.0 EE to build a ditamap. when I reference a ditaval file located at:
    C:Program Files (x86)XMetaL 6.0AuthorDITAXACssharedrenditionsfilterspro_mac_guide.ditaval
    The build stops with the error:

    XMetaL was unexpected at this time.

    C:mozydoxditaval>echo *********** File content : C:Program Files (x86)XMetaL 6.0AuthorDITAXACssharedrenditionsfilterspro_mac_guide.ditaval

    Seems to work if the ditaval file is in just Program Files, but when you add the (x86) to the end, it peters out.

    Reply

    JoAnne

    Reply to: Using a ditaval file in a 64bit system

    Try putting the whole path in quotation marks. I've run into similar issues with other programs (I'm also on a 64-bit machine) and that fixed it.

    Reply

    mmoulder

    Reply to: Using a ditaval file in a 64bit system

    The problem is, you are selecting the ditaval file from the XMetaL interface, so it won't allow you to do that.

    Reply

    Derek Read

    Reply to: Using a ditaval file in a 64bit system

    Try putting one of the following into the “Other output parameters” text box for your deliverable type (on the Advanced tab):

    DITAVAL_PATH_BACK_SLASH  =  c:my path with spacesmyfile.ditaval
    DITAVAL_PATH_BACK_SLASH  =  "c:my path with spacesmyfile.ditaval"

    Then check the output log file to see if the following entry made it in:

    set DITAVAL_PATH_BACK_SLASH=c:my path with spacesmyfile.ditaval
    set DITAVAL_PATH_BACK_SLASH="c:my path with spacesmyfile.ditaval"

    Note that doing it this way you'll probably see two entries, the default value first and then later on in the log the value you want to actually use.

    Reply

    mmoulder

    Reply to: Using a ditaval file in a 64bit system

    If I am understanding you correctly, this wouldn't work either as we could have 12 different ditaval files to select from for a single output type. We were hoping to use the filter folder to start using ditaval files so the writers wouldn't have to remember every condition to use when creating the different guides.

    I actually moved my install from the Program Files (x86) directory to a new directory. However, we are also now seeing that the ditaval files aren't even being used when we select them from the Advance button on the Set Conditions screen. Any idea why this is happening? Mine might be because I moved my install path. If so, that is a bug.

    Reply

    Derek Read

    Reply to: Using a ditaval file in a 64bit system

    OK, I've just finished testing this and the form that I put with quotations does not work. Our code actually wraps everything in quotes when it runs (to handle the space issue) and so that ends up with double spaces. The other form (without quotes) is working fine no matter where I put the file on my system.

    However, keep in mind that I'm not testing with 64-bit (not specifically mentioned in this thread, but I believe it is known to others here that this is not supported yet) so can't say 100% that you will get the same results. On a 32-bit install it is working fine.

    If you use a different DITAVAL file to produce different outputs and want to make this easy to use for your authors I would duplicate a deliverable type (there's a button for that), give it an easy to understand name, and then add the parameter to that specific deliverable only.

    So, the authors might have the following deliverable types listed (shown here together with the parameters) when you go to generate output (let's say you're producing plain HTML just for the heck of it):

    Multiple HTML
    (no special parameters, default settings)

    Multiple HTML for Admins
    DITAVAL_PATH_BACK_SLASH  =  c:file pathadmins_only.ditaval

    Multiple HTML for Other People version 1
    DITAVAL_PATH_BACK_SLASH  =  c:file pathpeople_1.ditaval

    Multiple HTML for Other People version 2
    DITAVAL_PATH_BACK_SLASH  =  c:file pathpeople_2.ditaval

    etc…

    Reply

    Derek Read

    Reply to: Using a ditaval file in a 64bit system

    Also useful for debugging this is that if things do work you should see the content of any ditaval file that is found reflected in the log file after a few lines that look similar to this:

    C:WINDOWSsystem32>IF /I EXIST "c:my pathmyfile.ditaval" (
    echo *********** File content : c:my pathmyfile.ditaval 
    TYPE "c:my pathmyfile.ditaval" 
    echo ***********************************************************************
    )
    *********** File content : c:my pathmyfile.ditaval
    dita val file content here...

    Reply

  • You must be logged in to reply to this topic.

Lost Your Password?

Products
Downloads
Support