forrest-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Crossley <>
Subject Re: Newbie question: defining ENTITY values in a separate configurati on file
Date Wed, 06 Apr 2005 07:48:29 GMT
Ross Gardler wrote:
> Paterline, David L. wrote:
> >Hello all -
> >
> >I'm a new user of Forrest and the associated technologies, so I hope I can
> >find some help with a basic question or two.
> >
> >Basically, I'm looking for a way to centralize definitions of text 
> >variables
> >to be used throughout the various XML files in my project.
> >
> >I'm using entity references to refer to contents of pre-defined entities
> >within my XML files. Within each file, I define the entity and then
> >reference it:
> >
> >	<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN"
> >"" [
> >	<!ENTITY frtzum '../xdocs/md/fretz/fretz_um.pdf'>
> >	]>
> >	...
> >	<td><link href="&frtzum;">User Manual</link></td>
> >	...
> >
> >This works fine, within each XML file. For a couple of reasons, I'd like to
> >collect all these entity definitions into a single configuration file
> >(mainly to minimize maintenance issues, such as using a single definition 
> >in
> >multiple XML files).
> You might want to read the docs on linking for some interesting tricks.
> See in 
> particular see the "site:" psuedo-protocol for internal linking and the 
> "ext:" pseudo-protocol for external linking.

Yes, as Ross said, using site.xml to define these links
is a good idea. See examples in a fresh site from doing
'forrest seed' in a new directory.

If you have other reasons for wanting to use xml entities
(e.g. common words and phrases) then you can define them all
in one centralised file in your project's
src/documentation/resources/schema/ directory. Declare the
file in your src/documentation/resources/schema/catalog.xcat
giving it a Public Identifier.

Here is a demo ...

The file src/documentation/resources/schema/my-entities-v10.ent
contains ...
<!ENTITY foo "This Foo">
<!ENTITY bar "That Bar">

The file src/documentation/resources/schema/catalog.xcat
added ...
<public publicId="-//Acme//ENTITIES My Special Entities V1.0//EN"

The file src/documentation/content/xdocs/index.xml
<?xml version="1.0"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" ""
 <!ENTITY % MyEnts-v10 PUBLIC
   "-//Acme//ENTITIES My Special Entities V1.0//EN"
    <title>Welcome to MyProj</title>
      <p>Entity replacement demo ... &foo; and &bar;</p>

And the result is ...
Entity replacement demo ... This Foo and That Bar

View raw message