General XMetaL Discussion
craig_83 June 2, 2010 at 9:55 pm
MaxLineLength in CTMJune 2, 2010 at 9:55 pmParticipants 3Replies 4Last Activity 12 years, 8 months ago
Hopefully a straightforward question, can you tell me the maximum number that can be used for the MaxLineLength in CTM files? We are making use of ElementProperties, but where there are very long lines of text we are getting breaks in the middle of sentences and it is causing problems in down-line processes.
ThanksDerek Read June 3, 2010 at 12:16 am
Reply to: MaxLineLength in CTMJune 3, 2010 at 12:16 am
In theory there should be no limit and to the best of my understanding there is not, but it depends on what you are doing and the behavior you expect. If you never enter Plain Text view you should never experience any issues (again, in theory). In practice I would encourage Pretty Printing of some kind to be enabled if just for the benefit of any humans that may wish to read the XML source.
If you do work in Plain Text view there is a limitation I refer to (jokingly) as the “M*A*S*H” issue. When viewing a document in Plain Text view, if a particular line is longer than 4077 characters that line may not be visible, but *just* in Plain Text view. The content is there, saves properly and everything else is fine, you just may not be able to interact with it in Plain Text view or you may not be able to get to the end of the line or similar issues. The other views (TagsOn and Normal) where we expect 95% of users to spend 95% (or more) of their time, are unaffected by this limitation.
This is a problem we have yet to address because it does not generally cause issues that cannot be worked around by setting pretty printing options or avoiding the use of Plain Text view (many customizations actually entirely disable Plain Text view using the Application.DisablePlainTextView API to make it harder for authors to create invalid documents).
Another issue is when any particular line exceeds 10,239 characters. In this case you will see the following message if you switch to Plain Text view and you do not have any Pretty Printing settings enabled that will cause that line to wrap (remembering that Pretty Printing is only applied when saving from TagsOn and Normal view or when you switch from those views to Plain Text view):
There are one or more lines in this document that are too long
to be displayed. They have been broken into smaller lines.
You can restore the document to its original condition
by choosing 'Undo' from the Edit menu.
To avoid this problem in the future, you can enable text layout
in the Customizations settings under the Tools menu.
Also note that Pretty Printing is not applied if you are opening documents directly into Plain Text view (the setting for which view to open into by default is in Tools > Options on the View tab).
There is no true workaround for this except to enable Pretty Printing aka “text layout” to avoid lines of this length (note that pretty printing, aka “text layout” used to be done directly in XMetaL Author prior to version 4 which is why that last sentence is there). Again, if you never use Plain Text view you should never see this message.
Both of the above may also be affected by the Plain Text view settings in Tools > Options in the section for “Line Wrapping” (which introduces “soft” or “virtual” line wrapping while you are in Plain Text view and does not actually affect the XML source). So, depending on those settings you may see slightly different behaviors.
If you use XMetaL Developer to edit CTM files then (depending on the XMetaL Developer version) you may be told that the maximum value for
is 4077. This message is there purely to help people that might have users working in Plain Text view avoid the first limitation noted above.
If you are working with XMetaL Author 6.0 and up we have introduced a new Pretty Printing setting that lets you override the
setting for specific elements, so that you can set to a preferred value (possibly something relatively short like 80 or whatever) and then tell XMetaL to ignore that for specific elements. This new setting is optionally set inside for each in the CTM file and tells XMetaL to ignore the value just for that element only. If you are editing the CTM file directly (sounds like you are) then the setting is: . If you are working in XMetaL Developer 6.0 the setting is exposed in the Properties window. This setting is used in our DITA customization for the DITA element to work around some limitations that the DITA Open Toolkit has when text in this element is line wrapped.
Note that this is different from the
setting which is typically used for elements where white-space is relevant (such as elements that will contain blocks of programming code).craig_83 June 3, 2010 at 11:13 am
Reply to: MaxLineLength in CTMJune 3, 2010 at 11:13 am
Thanks for your comprehensive answer, very useful.
For anyone else reading this I am using XMAX 5.5.Derek Read June 3, 2010 at 6:59 pm
Reply to: MaxLineLength in CTMJune 3, 2010 at 6:59 pm
You may need to be wary of these issues in Plain Text view then, assuming you have turned it on and use it. The 5.5 release is the first version to include the ability to enable Plain Text view in XMAX.Derek Read August 19, 2015 at 8:18 pm
Reply to: MaxLineLength in CTMAugust 19, 2015 at 8:18 pm
The maximum length of a line that can be displayed in Plain Text view was increased to 1,024,786 characters as of version 6.0 SP1. This is likely long enough (or probably far longer in fact) than anything a human would want to try to read or try to edit in that view.
Note that this is for the visual representation of the document in Plain Text view only. A document can still contain lines longer than this (usually when pretty printing is disabled) and the XML source will be just fine in both in Plain Text view and when the document is saved.
- You must be logged in to reply to this topic.