Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

Tips & Tricks -- hiding tags & attributes (another soapbox)


Tips & Tricks -- hiding tags & attributes (another soapbox)

This is a case where a name spaced (or entity refereneced) schema (DTD) would probably work. Have the citationlist in the referenced DTD/schema that is added on during a save.
Of course there is still the issue of 'seeing' the citation the author has refereneced. But that might just be another menu that provides a list of included citations that can be clicked and viewed in another window (that cannot be edited).
One thing with hiding elements, is there content is hidden too. You can save the content to a savetext and have it viewed on screen with a usetext (aside here, going back to my previous post on this thread. Note the short [eight or less character] element names in the FOSI tags).
With FOSI, you can display text that is not part of any element through the <usetext>. So you process the citationlist through FOSI psuedo elements and not DTD declared elements. (Just my thinking).
Test carefully to make sure you are getting what you want.
- wrote: -----

From: "Keith Berard" <>
Sent by: -
Date: 05/21/2007 04:14PM
Subject: Re: Tips & Tricks -- hiding tags & attributes

Ok, I need to challenge this one with an example of "hidden" tags we use.

Our documents revolve around evidence backup that comes in the form of citations. Each document cited in our publications needs to be backed up with a PDF or hard copy version of the original work. For this reason, we keep track of cited works in a central database that is accessible by both our writers and library research department.

From our writer's perspective, citations are accessible through the use of a XUI tool that allows them to search, edit, and even request new documents from the library. This allows the writer to stay in one environment (Epic), but still have quick access to the source PDFs and the fruits of other writer's research.

When it comes to inserting a citation, our writers can simply click a button on the tool that will insert a tag such as:
<citation db_id="12345"/>

This, of course, is not very useful, since it does not contain any text associated with it. For this reason, upon citation insertion, we create a special section at the end of our document to hold the last-updated text for the citation. This text is updated from the database.

eg: <citationlist><citationitem db_id="12345">Oosterlinck W, et al. Guidelines on bladder cancer. European Urology 2002;41(2):105-12.</citationitem></citationlist>

Now, the reason this all needs to be hidden is because of how we use our FOSI. The FOSI generates numbers next to each <citation> tag that corresponds to a distinct list of citations at the bottom of the document. (For ease of use, we also have additional XUI tools to immediately show the citation text upon mouseover of a citation)

Anyway, our documents look something like this:

<para>Here is some text by the author [cit](1) [cit](2)</para>
<para>Here is some other text [cit](1) [cit] (3)</para>
1: This is the first citation text
2: This is the second citation text
3: This is the third citation text

All of the references listed are generated by the FOSI, and are not editable by the writer. If they wish to edit a citation, they must use the XUI tool (or other database tools) since editing the text of the citation could affect multiple documents. Additionally, the citations contain many complex parts (author, editor, title, ISBN, DOI...etc) that are not necessary in the XML, but are important for back-end processes.

In this example, we do not want our writers to insert any new <citationlist> tags into the document, even if they are structurally valid, because they are simply there for display purposes and should occur only once within the document. Likewise, there is no benefit in letting them edit <citationitem> nodes, since it would not modify the underlying database data.

So that's my $0.02. I'd be glad to provide some screenshots if anyone is interested in our customizations.

Keith Berard
XML Systems Analyst
Milliman Care Guidelines LLC, A Milliman Company
719 Second Avenue, Suite 300
Seattle, WA 98104
Tel +1 206 381.8166

Delivering evidence-based knowledge at the point of care

On 5/21/07, Lynn Hales < > wrote:
Thanks for working on getting the DTD/schema order back into the system. Muchneeded IMHO.
In regards to hiding attributes and elements. Sometimes this is needed, but (this is just a comment for all) if one has an attribute or element the author does not need, what purpose is it serving? I can see metatype data, but that could be something added in a post process through a namespaced schema rather than in the actual data entry mode.
Anyway, as I haven't tried the DCF supported 'hidden' features, do these work the same as the they did previously (at least the element)? You could hide the element, but if you did, any children were also hidden (and this was fun if you had a child that was used in multiple elements because the child was hidden there too as I recall).
Hiding tags and attributes is (like SGML exceptions) a sign of poor design. But then as we migrate more and more to more common DTD/schema's (like S1000D), hiding elements and/or attributes may be a way to enforce project or higher business rules.
-----"Bartlett, PG" < - > wrote: -----

To: "arbortext-adepters" < >
From: "Bartlett, PG" < - >
Date: 05/21/2007 01:54PM

Subject: Tips & Tricks -- hiding tags & attributes

In your comments on the latest two surveys, there were a few ideas that
were very popular:

* Sort attributes according to DTD instead of alphabetically

We like this idea too. We'll need to change the parser to give us the
attributes in a different order. (Our SGML parser already does that.)
It's on the list for future improvements.

* Provide the capability to hide a really long attribute (like an ID)
from the author

You can do this today by editing the DCF file. It's not as scary as it
seems. You have to open the DCF file, navigate to the element that says
"AttributeOptions" (or insert this element), and then insert an
"AttributeOption" element. Open the "Modify Attributes" panel for the
element you just inserted, enter the attribute name in the "attribute"
field (for example, "id"), and set the attributes "dialogHidden" (to
hide it in the Modify Attributes panel) and "screenHidden" (to hide it
when tags are on) appropriately.

* Provide the capability to hide a tag that the author never needs to

You can do this in the DCF file too. Go to the "ElementOptions"
element, insert an "ElementOption" element, open the "Modify Attributes"
panel, enter the element name in the "element" attribute, and set
"hidden" to yes.

I know you'd like a prettier UI on the DCF file, but with just a few
minutes of study, you can become an adept editor of DCF files too.