Forum Replies Created

  • Derek Read

    Reply To: ‘lines too long’ error message

    Participants 0
    Replies 2618
    Last Activity 11 years, 10 months ago

    I'm assuming you only see this message when you switch to Plain Text view and that (given the way the script has been written) you are only running your script in TagsOn or Normal view. XMetaL Author has a maximum number of characters that it prefers to display on a single line, at which point it displays the message you are seeing.

    To avoid this you should turn on Pretty Printing for your customization. This is done in the CTM file associated with your DTD or Schema by adding appropriate settings for each element that needs to be Pretty Printed (in this case, one option would be to set this for, at a minumum, your row element). A general section can also be included that controls Pretty Printing.

    If you are not the person in charge of managing your XMetaL customizations please check with that person before making changes. There are cases where you may wish to intentionally disable Pretty Printing for compatibility with other software when that software does not like Pretty Printing at all or if it has specific requirements for it (some CMS or VCS systems for example).

    Note: If you are working with DITA documents (which seems unlikely, though you may be adding scripts on top of our DITA customization) then to turn on Pretty Printing you can simply run the “DITA Configuration: Turn ON Pretty Printing” listed in the Macros toolbar's dropdown list. In this case pre-configured CTM files specifically designed for DITA will be enabled.

    You should normally edit CTM files using XMetaL Developer, though they can be edited manually  provided you do not mess up the format (they are plain text XML files). Please keep in mind that editing CTM files with XMetaL Developer 5.0 will introduce a bug specific to the Pretty Printing settings (which will be addressed in our next release). Pretty Printing settings are written out incorrectly as follows:

    [code]             
           
            [/code]

    This needs to be manually corrected in a text editor (or by using a previous release of XMetaL Developer or XMetaL 3.1) to properly close the element by moving the closing tag after the final option that should be contained within it as follows:

    [code]             
           
           
    …other options…
         
    [/code]

    To enable Pretty Printing the CTM file must also not have a element inside the . Make sure you read the previous sentence again to be sure you understand my intentional double negative.

    [code]   
    2
    80
       
    [/code]

    If IndentAmount and MaxLineLength are omitted they default to the values above.

    With proper Pretty Printing settings enabled you should not see your issue.

    The Journalist example customization that ships with XMetaL Author Enterprise has Pretty Printing turned on by default so you may wish to view the journalist.ctm file here as an example:

    Rulesjournalist.ctm

    Reply

    Derek Read

    Reply To: XMAX says Run-Time Error – How to debug this?

    Participants 0
    Replies 2618
    Last Activity 11 years, 10 months ago

    If you have XMetaL Developer installed it would likely be easiest to run your project using the debug feature (F5 from within Visual Studio). That will give you more feedback, let you step through each macro line by line, set break points, and do other things like “step over”, “step into”, track variable values, view the complete DOM for any open documents, and possibly other things.

    If for some reason you can't do that the next best thing would be to install the Microsoft Script Debugger from the microsoft.com website and then put a “debugger” statement into one or more of the scripts inside your MCR file. That statement will trigger the Script Debugger, which will give you more feedback. A good short description of this tool exists here together with various links to Microsoft documentation and downloads: http://en.wikipedia.org/wiki/Microsoft_Script_Debugger

    Failing that you are likely left to guessing which MCR file (if more than one) and which macro inside it is causing the error(s). One simplistic way to do this is to remove MCR file(s) until the error goes away (then you know which one is causing the problem), then start cutting macros out of the problem MCR file until the issue goes away (then you know which macro), then hunt it down by line number (which you already know).

    We do have a feature request in our system to report which file and macro is throwing a particular error, not just the line number. There is no guarantee that such a feature will ever be implemented (partly because in most cases debugging using one of first two methods above is usually not difficult).

    Reply

    Derek Read

    Reply To: menu items sometimes unavailable in XMetal

    Participants 0
    Replies 2618
    Last Activity 11 years, 10 months ago

    The following two issues described by dianamost sound related to a known issue that was corrected with the release of 5.5:

    + Clicking the icon to reopen the program does not work.
    + Clicking the .exe to open the program from the program folder does not work.

    The problem was caused by XMetaL Author checking to see if there were other instances of XMetaL Author already running at startup (which we've always done). With the 5.1 release the application would send messages to all other currently running apps (via a Windows call) and wait for a response to say “I'm another copy of XMetaL” (in which case the second copy passes control over to the first) or “I'm product whatever” (in which case it will be ignored). In the case where a particular application does not respond XMetaL Author Enterprise 5.1 will wait indefinitely for a response, appearing to be hung in Task Manager and never completing the launch process. Rebooting often corrects this issue, though it may not if one of these other applications starts up at boot time.

    The problem does not occur for the vast majority of clients because most applications will respond to such calls.

    For clients that must continue to run the 5.1 release (for whatever reason), if your maintenance is current, please contact XMetaL Support for a patched xmetal51.exe binary file that can be dropped into an existing install. This process is manual (no installer is provided). It fixes the particular issue described above (which may or may not be related to the other issues described on this thread).

    For those clients that have the option to upgrade to the 5.5 release I would recommend doing that instead.

    Reply

    Derek Read

    Reply To: WebTop connector for Documentum 6.5

    Participants 0
    Replies 2618
    Last Activity 11 years, 10 months ago

    XMetaL Author Enterprise for Documentum Webtop was released mid-December 2008 and officially announced on December 22nd. Please refer to the following page for details:
    http://na.justsystems.com/releases-220

    Reply

    Derek Read

    Reply To: Re: XMetal DITA update to version 5.5

    Participants 0
    Replies 2618
    Last Activity 11 years, 10 months ago

    That is correct. This tool does the same thing in 5.5 as it did in 5.1.

    Assuming you used the default settings for the DITA cleaner in 5.1 to “upgrade” your files from the 1.0 DITA DTD to the 1.1 DITA DTDs, then you should not need to do anything further.

    When the DITA 1.2 DTDs are finalized and we ship them (possibly our next major release) we might provide an updated tool, or at least the same tool + updated instructions (it is configurable) for migrating to DITA 1.2 (if necessary).

    Reply

    Derek Read

    Reply To: Table output in HTML

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    Using the selector for the element and the corresponding CSS property should do it (most modern browsers will support this).

    Example:
    table {width:100%}

    Probably worth having a look here:
    http://www.w3.org/Style/CSS/learning

    …and here's a specific example (and a whole page on styling tables):
    http://dev.opera.com/articles/view/33-styling-tables/#tableandcellwidth

    When it comes to CSS and HTML / XHTML there are literally perhaps thousands of websites that can help you. Your favorite search engine is your best friend in this case.

    Reply

    Derek Read

    Reply To: Server Busy Message??

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    This message is thrown up by Windows when it detects that an application is not responding to COM requests. Given that this is likely being triggered by custom code it would be impossible to state why this is occurring exactly, only that whatever is being called is taking “too long” (or not responding at all). It would be best to check with your developers. They may be able to rewrite the script or application (possibly a DLL) that is involved (ideally so that it responds faster).

    If they are unable to do so, it is possible (depending on what they are doing exactly) to increase the amount of time before such a message appears using the following XMetaL Author INI variable setting:

    ole_server_busy_timeout =

    The default value is 8 seconds:
    ole_server_busy_timeout = 8000

    This is only effective when a script is being run directly from within an XMetaL Author MCR file and that script is calling a COM object.

    Note that if this is affecting XMAX there is no similar fix as XMAX does not currently support the equivalent of this INI variable setting.

    Reply

    Derek Read

    Reply To: Table output in HTML

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    There are at least a few ways to accomplish this for XHTML output.

    Please refer to the “pgwide” attribute description in the DITA Language Reference for the

    element. If you prefer not to handle this in the XML source you can alter the XSLT that generates your XHTML so that all tables have their “width” attribute set to “100%” (or something close to that), or you could simply add a CSS property to your CSS file that gives all table elements a width of “100%” (or something close to that), or just specific table elements with a specific “class” attribute using the DITA “outputclass” attribute (again, please refer to the DITA Language Reference for details).

    Reply

    Derek Read

    Reply To: Ordered List bug in XMetal interface

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    Please refer to the following topic in XMetaL Author Enterprise's help:
    “Overriding base formatting”

    Even though it is a subtopic inside “Working with DITA specializations” most of the information applies to the “standard” (non-specialized) DITA DTDs as well, that is, everything except “{$specialized_dtd}_ditabase-specialized.css”.

    If you really need to dig into this (which would probably be helpful to understand what is going on) you can open the following file as it is the main one that loads the CSS files. Note that they are imported in a specific order because normal CSS cascading rules (W3C) apply in XMetaL just as they do in a browser.

    C:Program FilesXMetaL 5.1AuthorDITAXACsditabaseditabase_ditabase.css

    Reply

    Derek Read

    Reply To: Creating Thick Border Lines

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    The CSS file you need to modify will be specific to your customization. With an absolute minimum customization you have the following files (where “schema” is the name of your DTD or Schema file which could literally be anything, for example “docbookx.dtd”):

    schema.dtd or schema.xsd
    schema.css
    schema.ctm

    The CSS file that is loaded will have the same filename as the DTD or XSD file (but with different extension as above) and will normally be in the same folder. Because you are creating the customization I will assume you know which DTD or XSD file you are working with.

    If you are working with XMetaL Developer then you may not have the files above but instead will have a *.xac file. The files listed above will be inside the *.xac file (and are compiled into it using XMetaL Developer). However, I suspect you may not be using Developer as this information is documented in that product (perhaps arguably not as clearly as you would like it to be).

    The method used to get your styling into your HTML or PDF output will vary depending on how that output is being generated but will likely require you to modify files used in that process, typically including CSS (read in by browsers), possibly XSLT (if that is used for transforming from XML to HTML) and probably XSL-FO (for PDF).

    Reply

    Derek Read

    Reply To: Text indenting through DTD

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    The custom CSS file you are editing should be delivered with the HTML files that are output by the DITA OT and will be referenced in the HTML using a element so that browsers can find and open it. It is up to you to decide what CSS settings you wish to include in this CSS file. When you open the HTML with a browser the browser will use whatever default settings it has built-in for HTML elements and attributes and then add your CSS to those (basically as overrides).

    The DITA OT inserts the following into the HTML by default:
    [code][/code]

    You may wish to look for information on how the various browsers support for referencing CSS files. All the modern browsers support this but you may have special cases.

    Reply

    Derek Read

    Reply To: Paragraphing problem

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    For CSS (which affects on TagsOn and Normal views in XMetaL) you can use the margin-top property in this case, though you may wish to use padding-top depending on your exact needs / preferences.

    Reply

    Derek Read

    Reply To: Tip: Getting between closing tags in Normal View

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    I feel for people that want to work in Normal view but that have run into this limitation. David's macro looks like a good workaround to me. Ideally I'd like to see us extend the standard UI to do this without needing to do this type of workaround. The decision to stop people from moving their cursor (insertion point) in Normal view into a location that does not permit text is not clear to me and was made long ago (and one of the things we try to strive for is backward compatibility). However, one of the best things about XMetaL is that because it is so customizable (we're currently way over 1000 APIs) most of the time it lets you “fix” things you don't like about it.

    My Alternative Solution: I have a macro that could be integrated into any customization fairly easily. I'd like to perfect it a little more before posting (and technically I'm on vacation right now so shouldn't even be sneaking peeks here, my family would not approve 😉 I think it can be made to work for any DTD at the application-level (perhaps with a little bit of macro trickery).

    The macro adds three new sub-menus to the context menu:
    1) Insert Element Here
    2) Insert Element After
    3) Attributes

    Insert Element: Basically identical to the Element List it lists as sub-items all the elements that can be validly inserted at the current position. I did this because I like to work close to my content and so I don't need to move my eyes back and forth to the Element List. It also lets me keep the Element List closed, giving me more screen real estate for my documents. Selecting any element listed in this menu inserts it at the current position just like the Element List.

    Insert Element After: Exactly the same as “Insert Element” except that it lists items that can be inserted immediately after the current element (right after the closing ) and inserts them there when you select one. This is an alternative solution to David's though at the moment it only solves his exact scenario as described but has a few other limitations. It does let you insert HERE for example.

    Attributes: Same idea as the first two except this lists all attributes allowed for the current element along with any value that is currently set (identical to the Attribute Inspector). Clicking on an attribute that allows text (typically CDATA) shows a simple prompt dialog (text box popup) that allows you to set, remove and change whatever the current value is. For attributes that are defined as enumerated lists another sub-menu listing allowed values (according to the DTD) appears. This menu lets you select from one of the items to set it, and if something is already set an additional item is listed at the top that lets you remove the attribute. Items with fixed values in the DTD are simply displayed and cannot be altered. Basically, I've moved the Attribute Inspector to the Context Menu. Perhaps not a big deal, except that (again) you're editing stuff “in context” so you don't need to move your eyes as much (or your mouse if you use the mouse) as well as letting you keep the Attribute Inspector closed to give you more document editing space.

    I'll try to remember to post this when I get back to work (please remind me in early January if you don't see anything here shortly after January 5th).

    Happy Holidays!

    Reply

    Derek Read

    Reply To: Relax NG and XInclude?

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    Of the two, xinclude is the more important to me, especially given the difficulties XMetaL has with entities.

    Interesting. I assume you are referring to file entities, aka external general entities (and not character, text or graphic entities, all of which are supported). Given the choice, would you prefer we improve the UI for working with file entities or is there a really compelling reason that XInclude is much more attractive? What exactly is it about the file entity support that you don't like:
    1) You must open them in a separate document window to edit them (double click does this).
    2) They don't render 'inline' (in context of the containing document).
    3) When a validation error is found inside the content of the external entity while validation the containing document you cannot get to it easily (as per #1).

    What we've implemented for DITA conrefs addresses #2 (in the context of DITA only at the moment).

    Reply

    Derek Read

    Reply To: Tables and page breaks

    Participants 0
    Replies 2618
    Last Activity 11 years, 11 months ago

    I agree. The types of issues you are having with tables sound to me like things you should request as improvements at the DITA OT project at SourceForge. It seems logical not to break at any of the locations you mention, ever, and there are XSL-FO settings for “keep together” that could (and should probably always) be applied here.

    Reply

Products
Downloads
Support