Pages: 1
Print
Author Topic: Using a ditaval file in a 64bit system  (Read 4911 times)
mmoulder
Member

Posts: 43


« on: June 04, 2010, 02:52:15 PM »

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.0\Author\DITA\XACs\shared\renditions\filters\pro_mac_guide.ditaval
The build stops with the error:
<log_line>
\XMetaL was unexpected at this time.</log_line><log_line>
C:\mozydox\ditaval&gt;echo *********** File content : C:\Program Files (x86)\XMetaL 6.0\Author\DITA\XACs\shared\renditions\filters\pro_mac_guide.ditaval</log_line>

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

Posts: 49



« Reply #1 on: June 07, 2010, 02:01:16 PM »

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.
Logged
mmoulder
Member

Posts: 43


« Reply #2 on: June 07, 2010, 02:04:06 PM »

The problem is, you are selecting the ditaval file from the XMetaL interface, so it won't allow you to do that.
Logged
Derek Read
Program Manager (XMetaL)
Administrator
Member

Posts: 2621



WWW
« Reply #3 on: June 07, 2010, 04:15:36 PM »

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 spaces\myfile.ditaval
DITAVAL_PATH_BACK_SLASH  =  "c:\my path with spaces\myfile.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 spaces\myfile.ditaval
set DITAVAL_PATH_BACK_SLASH="c:\my path with spaces\myfile.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.
Logged
mmoulder
Member

Posts: 43


« Reply #4 on: June 07, 2010, 04:20:56 PM »

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.
Logged
Derek Read
Program Manager (XMetaL)
Administrator
Member

Posts: 2621



WWW
« Reply #5 on: June 07, 2010, 04:50:35 PM »

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 path\admins_only.ditaval

Multiple HTML for Other People version 1
DITAVAL_PATH_BACK_SLASH  =  c:\file path\people_1.ditaval

Multiple HTML for Other People version 2
DITAVAL_PATH_BACK_SLASH  =  c:\file path\people_2.ditaval

etc...
Logged
Derek Read
Program Manager (XMetaL)
Administrator
Member

Posts: 2621



WWW
« Reply #6 on: June 07, 2010, 04:56:04 PM »

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:\WINDOWS\system32&gt;IF /I EXIST "c:\my path\myfile.ditaval" (
echo *********** File content : c:\my path\myfile.ditaval 
TYPE "c:\my path\myfile.ditaval" 
echo ***********************************************************************
)
*********** File content : c:\my path\myfile.ditaval
dita val file content here...
Logged
Pages: 1
Print
Jump to:  

email us