[Framers] Read-write rules for graphics
Roger Shuttleworth
shuttie27 at gmail.com
Wed Sep 11 07:44:29 PDT 2019
Hello Lynne and Tino
Thank you for your replies. My apologies for not getting back to you
sooner. I have been trying some other approaches without much success.
To answer Lynne's first question: No, FM11 is my personal version. The
investigation I am doing is for a charity, so there is little hope of
any cash - and even if there were, FM11 up till now has met my needs,
and I don't really want to learn a whole new version.
Another apology: I misspoke regarding the "href" attribute, which was in
fact a required *string* and not an id.
According to Tino's suggestion, I have tried using a very simple rule:
element "image" {
is fm graphic element;
attribute "file" is fm property file;
}
I have a very simple document consisting of a title and a single
paragraph containing some text and an anchored frame at insertion point,
with one referenced graphic. I changed the "href" attribute to Optional
in the EDD, and added no attribute values at all. I get the following XML:
<p><image href = "" height="1.167in" width="1.028in"
graphicname="1778433278" />This is some text</p>
I have no idea why the XML contains a "graphicname" attribute, since
this does not exist in the FM document or the rules.
If I change the anchored frame to Run into Paragraph, aligned Left, the
XML is identical.
Changing the EDD so that the InitialObjectFormat for <image> is either
an anchored frame or an imported graphic file makes no difference: same XML.
Opening the XML in FM not surprisingly generates an error message in the
console: Error importing graphic for element (image).
Adding a subrule, attribute "align" is fm property alignment; makes no
difference.
Even more strange: If I manually add an href value and then export XML,
the href value is exported, e.g.:
<image href = "Graphics/think.png" height="1.167in" width="1.028in"
graphicname="2109691528" />
But when I open this XML in FM, the <image> element is dropped
altogether and the console has a message, "Error importing graphic for
element (image)."
Maybe I'm missing something very obvious...
Roger
P.S. I don't want to take up your time; I'm resigned to fiddling and
researching until I conquer this!
On 09/09/2019 20:50, Lynne A. Price wrote:
> On 9/9/2019 11:15 AM, Roger Shuttleworth wrote:
>> Using FM11.
>
> Roger,
> Have you tried a later version of FM?
>
> ...
> All my images are imported by reference, and the anchored frames
> contain only one image each.
> ...
>
>> 1. The "href" attribute, which is defined in my EDD as arequired id,
>> exports as an empty string. I need it to populate with the path to
>> my referenced graphic. You will note that I have commented out one
>> line of the rules, but it makes no difference. Do I have to specify
>> the "href" value in FM, or should it pick up the filename
>> automatically when exporting?
>
> I'll respond to your other questions after I've had time to do some
> relevant testing, but why do you want the href attribute stored in FM?
> And why do you want it to be a unique ID? How is it declared in the
> DTD? Pathnames contain characters (particularly slashes and possibly
> spaces) that are not permitted in ID attributes in XML. Furthermore, I
> don't know if your documents ever contain multiple copies of the same
> graphic file, but if you use the filename as an ID, you preclude that
> possibility. Structured cross-references do use ID attributes for
> cross-references, but cross-references for images typically refer to
> something like a container that includes a figure number rater than
> the anchored frame itself.
>
> FM should export the filename to the appropriate attribute regardless
> of any value stored in FM. The only reason I can think of for
> importing the filename would be to display it in the FM document as a
> cross-reference to the graphic element. Do you have such a requirement?
>
> --Lynne
>
More information about the Framers
mailing list