Pages: « 1 2 3 4 5 6 7 8 9 10 »
 on: May 06, 2019, 11:34:13 AM 
Started by queshaw - Last post by queshaw
With XFT, how can I make it so that pressing enter submits the form?

 on: May 06, 2019, 07:40:12 AM 
Started by rakesh - Last post by rakesh
Hello Derek,

We are using XMetal 6.0 with our own customization.

Our xml contains URI in doctype which is not resolved at local system, only resolved with in the Citrix environment. For this we have build a catalog file in XMetal's with in the Rule folder.

All is working fine on Windows 10 OS but the same setup and customization is not working on Windows 7. When trying to open the xml file on Windows 7, the XMetal stops working and crashed.

Below is our doctype

<!DOCTYPE urteil PUBLIC "-//MBO//DTD urteil 1.0//DE" "">

Below line show the catalog setting

 Default Catalog for Template and other files

-- entries for urteil dtd --
PUBLIC "-//MBO//DTD urteil 1.0//DE" "urteil.dtd"

-- entries for gesetz dtd --
PUBLIC "-//MBO//DTD gesetz 1.0//DE" "gesetz.dtd"
 W3C DTDs and entity sets

We are really in trouble, we have licensed for XMetal 6.0 and Windows 7 but we are not able to use XMetal's Page Preview at our end.

Please suggest a work around.

Thanks & Regards

 on: May 03, 2019, 11:58:56 AM 
Started by pmasal - Last post by byronViree
The V2 database file you should be looking for is normally called AllPortfolios.tsd
Can you find that one?

Failing that, you should be looking for snapshot files, which normally have the file extension .tsn

 on: April 26, 2019, 11:58:03 AM 
Started by queshaw - Last post by Derek Read
Still guessing a bit but here's an example that might help.

There's an example macro in the Journalist.mcr file called "Insert ULink" that launches a form, lets the user input a Description and URL, and then generates some content in the XML based on that input.

My sample below reuses that form but doesn't tie it to a document (in the original it isn't tied to any document either really, it's just that the Journalist sample is the only one to use it). Instead of inserting the values into the document like the Journalist sample does this sample merely checks the values and displays them.

Not sure what you want to do with your values, but in this example they are now strings and you can do whatever you like with them.

Code: (sample)
//XMetaL Script Language JScript:
var formPath = Application.Path + "\\Forms\\ULink.xft";
var dlg = Application.CreateFormDlg(formPath);

//as long as you don't set the form object to null
//(in this example that's "dlg")
//you can access the controls on it like so:
if (dlg.DoModal == 1) { //user clicked OK button*
var desc = dlg.URLDesc.Text;
var url = dlg.URLLink.Text;
Application.Alert("Description: " + desc + "\n" + "URL: " + url);
dlg = null;

*For a form to return 1 when an OK button is pressed you need to set ButtonType for the button to "OK" (as in this form).
When the user dismisses a dialog using the built-in close button on a form -1 is returned.
When the user dismisses a form using a button with ButtonType set to "Cancel" then 2 is returned.

You should null any references to the form eventually (before XMetaL shuts down, but the safest place is in the same script that launched the form so you know for sure the reference is gone). Windows Script Host (JScript and VBScript) does do garbage collection but the timing is not predictable. XFT's are running as part of an external control (a COM DLL) and COM references need to be cleaned up to make sure the software can properly shut down.

 on: April 25, 2019, 03:52:45 PM 
Started by queshaw - Last post by queshaw
The topic "Associate a form with a customization object" is what I'm referring to. I don't see anywhere a description of how to create a customization object. If a CTM file is a customization object, visual studio tells me I can't add a CTM file to an XMetaL application solution.

The samples seem to be tied to a DTD, I am not doing anything related to a DTD and don't want to bind a form to an element in the XML document being edited. I am so far not getting how a form is associated with program logic by looking at the samples.

The documentation for Application.CreateFormDlg shows DoModal() being called on the object returned. Aside from not wanting a modal dialog box, what object is returned? How do I access the value of forms set in the dialog box after it's been dismissed?

 on: April 25, 2019, 02:49:40 PM 
Started by queshaw - Last post by Derek Read
Have a look at the topic "Associate a form with a customization object".

That discusses how to add added to the CTM file that tell XMetaL Author which form to associate with which element, whether it is embedded or to be launched as a modal dialog and various other settings.

You can also launch a form using an API but the most common method (if you need to associate the form with an element) is to make the associations with the CTM file. The topic "Executing a form as a modal dialog in XMetaL" discusses that and provides the simplest example of launching an XFT as a modal form from script.

The topic "Sample forms" lists the forms provided with the Journalist with brief descriptions (fully understanding what each does is best done by using the Journalist sample and examining it's MCR, CTM and XFT files). Hard to say which one would be nearest to what you want to do.

 on: April 25, 2019, 02:16:13 PM 
Started by queshaw - Last post by queshaw
The documentation for xmetal developer 12 says you can associated a form with a "customization object". But, I see nowhere where it says what a customization object is, or how to create one. Can you elaborate?

Ultimately, I want to present a dialog box to the user and get data from fields in the form to use from a macro, which I take it is the one form that scripts take. I don't see how binding the form to XML could work for me.

 on: April 17, 2019, 02:17:20 PM 
Started by mag3737 - Last post by mag3737
XMetaL script extension: Global Track Changes
Filename: xmetaLExtension-globalTrackChanges.mcr
Author: Tom Magliery
Version: 1.0
Date: 17 April 2019

This script extension adds a "global track changes" setting to XMetaL Author.

Ordinarily XMetaL provides change tracking (aka revision marking) only on a per-document
and per-session basis. Change tracking is OFF by default, and when turned ON (via the
Tools > Track Changes command) is applicable only to the active document, and only until
XMetaL is closed.

This script adds the following behaviour:
1. Change tracking can be set to default to ON for all documents
2. The user can change the default to his/her own preference
3. The setting remains in effect the next time XMetaL is opened

Installation instructions:
1. Close XMetaL.
2. Copy this file into the XMetaL "Startup" folder.
3. Restart XMetaL.

Removal instructions:
1. Close XMetaL.
2. Remove this file from the XMetaL "Startup" folder.
3. Delete the per-user copy of the "xmetal.ini" settings file. This file is kept in the
following directory:
WARNING: Do not confuse this with the "master" copy of the xmetal.ini file, which is
kept in the Program Files/XMetaL directory!
4. Restart XMetaL.

Usage instructions:
This extension includes user-executable macros for changing the Global Track Changes
setting to ON or OFF. At present the only ways to execute these user macros are via
the Macros toolbar and the Tools > Macros dialog. Look there for the macros called
"Turn Global Track Changes ON" and "Turn Global Track Changes OFF".

Note: The built-in menu command (Tools > Track Changes) retains its existing
functionality, which is to toggle the Track-Changes status of the current active
document. For example, if the Global Track Changes setting is currently ON, then after
a document is opened, the menu command could be used to turn change tracking OFF for
only that document.

This script was tested with XMetaL Author Enterprise 14. However, the (very few) APIs
that this uses have been available in XMetaL since approximately the time of the Roman
Empire. It should work fine with both XMetaL Author Essential and Enterprise going back
at least several versions.

 on: April 16, 2019, 09:38:53 AM 
Started by queshaw - Last post by queshaw
Thank you!

Ultimately, I want to set an attribute on rows within the selection.


 on: April 15, 2019, 12:58:55 PM 
Started by queshaw - Last post by Derek Read
See my reply here, third in the thread:,4037.0.html

The two relevant APIs are:

If you can provide more information about what you need to accomplish I might be able to suggest something in more detail. Keep in mind that the actual end result (and starting condition) is the most important thing here as sometimes you can get there multiple ways.

Pages: « 1 2 3 4 5 6 7 8 9 10 »
email us