xsl-list
[Top] [All Lists]

Re: Getting the value of an entity

2002-09-02 16:43:53
At 2002-09-02 15:49 -0600, Mike Brown wrote:
G. Ken Holman wrote:
> At 2002-09-02 18:30 +0100, Michael Kay wrote:
> >This is what the function unparsed-entity-uri() is for.
> >
> >Nice to know that someone wants it.
>
> Hey, this is an important function in my publishing system since I am
> keeping images in different subdirectories and am pointing to them from
> different parameter entities.  The fact that a relative URI found in an
> external parameter entity is resolved to an absolute URI helps me maintain
> the lists and locations of graphics.
>
> I also use unparsed entities to point to the XML files that I pass to the
> document() function for the same relative URI resolution features.

Could you post a (short) example that demonstrates these use cases?

I have all of my training material as separate XML documents, each document made up of many external general entities in a many-leveled physical structure.

It has long been shown that sharing information at the entity level is unsafe and, like a house of cards, easily toppled. For this reason I only use entities to manage a large XML instance in many small pieces.

To share frames between presentations I use the document() function in XSLT and the unique identifier of the frame being shared.

In the entity file for a presentation I have a declaration of the presentations with the frames being shared, as in:

  <!ENTITY ptux SYSTEM "../ptux/ptux.xml" NDATA xml>
  <!ENTITY shared SYSTEM "../shared/shared.xml" NDATA xml>
  <!ENTITY xmlcorp SYSTEM "../xmlcorp/xmlcorp.xml" NDATA xml>

In the markup I have a mixture of frames that are authored for the presentation and frames that come from other presentations:

  <frame id="rec-xml">
  <title>Extensible Markup Language (XML)</title>
  <pane>
  ...
  </pane>
  </frame>

  <frame id="xml-links" share="ptux"/>

  <frame id="dsssl-info" share="shared"/>

  <frame id="css" share="xmlcorp"/>

As Mike Kay points out, the relative URI resolution with the base URI of the second argument of the document() function can provide the same resolution facility, but this was the way I was doing it in SGML and so I've kept it up in my XML environment.

I hope this helps.

.............. Ken


--
Upcoming hands-on in-depth      Europe:         Sep 18-Sep 20,2002
XSLT/XPath and XSL-FO           North America:  Sep 30-Oct  4,2002
instructor-led deliveries       Japan:          Oct  7-Oct 11,2002

G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0  +1(613)489-0999 (Fax:-0995)
ISBN 0-13-065196-6                       Definitive XSLT and XPath
ISBN 1-894049-08-X   Practical Transformation Using XSLT and XPath
ISBN 1-894049-07-1               Practical Formatting Using XSL-FO
XSL/XML/DSSSL/SGML/OmniMark services, books (electronic, printed),
articles, training (instructor-live,Internet-live,web/CD,licensed)
Next public training:     2002-09-11,13,18,19,30,10-03,07,10,12-08


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>