[Date Prev][Date Next]
[Thread Prev][Thread Next]
[Date Index]
[Thread Index]
[New search]
To: Dan Emory <danemory@xxxxxxxxxxxx>
Subject: Re: Graphic Entities in FM+SGML 5.5
From: Janice McConnell <jym@xxxxxxxxx>
Date: Thu, 25 Mar 1999 07:18:14 -0500
In-Reply-To: <2.2.16.19990323085343.3b371312@pop.primenet.com>
Sender: owner-framers@xxxxxxxxx
Dan,
The writing of absolute paths in entity declarations and the
"entity name is" rule not using the value of an fm attribute
are two different issues. I logged 2 bugs for you during the
beta cycle. Both were marked fixed, as I reported to you at
the time. How entities are handled was changed considerably
in version 5.5.x. This was in response to customer requests
to have entites round-trip through FM+SGML. As you are aware,
in version 5.1.x, general text entities are expanded on
import and the entity information is not retained. In version
5.5.x, entity references from the SGML import are written back on export.
The "entity name is" rule itself has not been changed.
However, the dual mapping of the entity attribute to a fm
attribute as well as an fm property is no longer allowed.
Thus, it is not possible to assign an entity name through the
use of an fm entity. Once a file is associated with an entity
name, that association is retained - whether the association
came from an SGML import or the creation of a FM+SGML
document which is then exported to SGML.
The author can name his entities by adding entity
declarations to the DTD before exporting to SGML. FM+SGML
creates entity names only for files that do not yet have
entity names associated with them through an entity
declaration. These new entity declarations are written in the
internal DTD subset of the exported SGML document. On import,
any entity declarations in the internal DTD subset of the
SGML document are stored in an EntityDeclaration table on a
reference page to be referenced on export as entities in the
external DTD are.
Yes, these changes do require changes in your 5.1.x
applications in order to run them on 5.5.x.
Janice
At 10:53 AM 3/23/99 -0700, you wrote:
At 08:26 AM 3/23/99 -0500, Janice McConnell wrote:
>Dan,
>
>Part of my previous message (8/15/97) is correct. Part is
not. Absolute
>paths will not be written in entity declarations created by
>FM+SGML - only the name of the file that is created by
>FM+SGML or the name of the imported file if the file was imported.
>
>The "entity name is " rule allows you to name the base entity
>name for entity declarations that FM+SGML writes for you.
>Without such a rule, the software defaults to the name of the
>element as the base. The name of the file that FM+SGML
>creates for you is also based on the name of the element
>unless you specify differently with the rule "export to file
><filename>". The value of the variable $(entity) will be the
>default entity name or the entity name you specified with the
>first rule I mentioned.
==================================================================
During the 5.5 Beta phase, I passionately objected to this
change in how the
"entity name is" rule worked, and gave ample reasons for
why it would create
serious problems. Your 8/15/97 response that:
---------------------------------
>These problems had been addressed for the shipping version.
>Absolute pathnames will not be written for Entity
>declarations, and use of the appropriate read/write rule
>using the "$(entity)" variable should cause entity names to
>be written using the value of the Entity attribute in the
>FM+SGML document.
---------------------------------
produced the following 8/15/97 response from me:
-----------------------------------
WHEW!
Thanks for your prompt response. Hopefully, the b9a version of the
Developer's Guide was also revised to reflect the correct
behavior, as it was described in the 5.1.1 Developer's Guide.
-----------------------------------
Now I discover that the behavior is the same as I
discovered it to be during
Beta testing in August of 1997, and apparently has not been fixed in
subsequent versions of V5.5.x. Appalling.
======================================================================
>Entity names will be maintained for entities which already
>have declarations.
======================================================================
By "maintained" I take it you only mean that, if I import
an SGML instance
into FM+SGML, the entity names will be maintained when it
is re-exported to
SGML.
But if I'm originating and maintaining the doc in FM+SGML
and occasionally
exporting it to SGML, those entity names will NOT be
maintained, and thus
each time I export the doc, the base name of the entity
will stay the same,
but the suffix will be incremented in both the SGML
declarations and the
filenames, producing multiple copies of each graphic, with
no way to discern
which ones no longer apply and should be deleted. That's
the way it worked
in v5.1.x when the entity rule was used that way.
It deprives authors of the V5.1.x capability to control
the names of graphic
entities and their filenames so that, each time the doc
was exported to
SGML, the entity name and the filename would remain the
same, which meant
that the old graphic file was overwritten by the most
recent version of the
same graphic, thereby avoiding multiple copies of each
graphic, each with
different non-descriptive filenames.
Whoever made this change apparently assumed that FM+SGML
would not be used
to CREATE structured docs, but instead its sole purpose was to import
existing SGML docs. In other words, all FM+SGML is good for is a print
engine for SGML docs. By making the change in the way the
entity rule works,
Adobe has made
that a self-fulfilling prophecy.
==============================================================
============
>The entity name is no longer connected to
>an attribute in the FM+SGML document. Instead, it is mapped
>to an entity property which is not available for edit by the
>author but is preserved or created by the software. That is,
>the entity attribute of the SGML document can no longer be
>mapped to both the FM+SGML entity property and a FM+SGML attribute.
=====================================================================
So, if the EDD declares that a graphic container has an attribute
named "entity", and the DTD declares the same attribute
name for the same
purpose in the GI for that same element, neither value
gets written into the
other on import or export?
======================================================================
>Let me know if I have not explained this clearly.
=========================================================
All too clearly I'm sorry to say. What this means (among
many other things)
is that structured docs produced with version 5.1.x that used the old
version of the entity r/w rule are incompatible with 5.5.x.
In and of itself, this new "feature" alone would
discourage many users from
upgrading to V5.5, or even using FM+SGML at all to
originate structured
documents.
____________________
| Nullius in Verba |
********************
Dan Emory, Dan Emory & Associates
FrameMaker/FrameMaker+SGML Document Design & Database Publishing
Voice/Fax: 949-722-8971 E-Mail: danemory@primenet.com
10044 Adams Ave. #208, Huntington Beach, CA 92646
---Subscribe to the "Free Framers" list by sending a message to
majordomo@omsys.com with "subscribe framers" (no
quotes) in the body.
** To unsubscribe, send a message to majordomo@omsys.com **
** with "unsubscribe framers" (no quotes) in the body. **