maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörg Schaible <Joerg.Schai...@Elsag-Solutions.com>
Subject Break-up site.jsl
Date Tue, 27 Jan 2004 15:46:33 GMT
Hi gang,

we would like to define some own tags for our project documentation. While you can replace
site.jsl, you have to copy the biggest part of it and then have to keep track for any changes
later yourself. I have transformed my local site.jsl to the following code:

========== snip ==========

<?xml version="1.0"?>
<!DOCTYPE stylesheet [
  <!ENTITY document SYSTEM "file:xdocs/stylesheets/document.ent">
  <!ENTITY properties SYSTEM "file:xdocs/stylesheets/properties.ent">
  <!ENTITY menu SYSTEM "file:xdocs/stylesheets/menu.ent">
  <!ENTITY links SYSTEM "file:xdocs/stylesheets/links.ent">
  <!ENTITY search SYSTEM "file:xdocs/stylesheets/search.ent">
  <!ENTITY section SYSTEM "file:xdocs/stylesheets/section.ent">
  <!ENTITY source SYSTEM "file:xdocs/stylesheets/source.ent">
  <!ENTITY footer SYSTEM "file:xdocs/stylesheets/footer.ent">
  <!ENTITY table SYSTEM "file:xdocs/stylesheets/table.ent">
  <!ENTITY goal SYSTEM "file:xdocs/stylesheets/goal.ent">
]>
<!-- stylesheet to be used -->
<jsl:stylesheet select="$doc"
  xmlns:define="jelly:define"
  xmlns:j="jelly:core"
  xmlns:jsl="jelly:jsl"
  xmlns:log="jelly:log"
  xmlns:util="jelly:util"
  xmlns:x="jelly:xml"
  xmlns:doc="doc"
  xmlns:maven="jelly:maven"
  xmlns="dummy"
  trim="false">

  &document;
  &properties;
  &menu;
  &links;
  &search;
  &section;
  &source;
  &footer;
  &table;
  &goal;

  <!-- remove the space at the end of parsed "a" anchors -->
  <jsl:template match="a" trim="false"><jsl:copy trim="true"><jsl:applyTemplates
trim="true"/></jsl:copy></jsl:template>
  
  <!-- copy any other elements through -->
  <jsl:template match="*" trim="false"><jsl:copy trim="false"><jsl:applyTemplates
trim="false"/></jsl:copy></jsl:template>

   <!-- element values don't pass through as text -->
   <jsl:template match="@*"/>

   <!-- CDATA and text nodes pass-thru -->
   <jsl:template match="text()"><x:expr select="."/></jsl:template>

</jsl:stylesheet>

========== snap ==========

Such a break-up makes it very easy to add new elements or exchange original elements of the
site.jsl. Unfortunately I cannot use (obviously) any properties declaring the entity references
in the DOCTYPE element to do something like:

<!DOCTYPE stylesheet [
  <!ENTITY document SYSTEM "file:${plugin.resources}/document.ent">
  <!ENTITY properties SYSTEM "file:${plugin.resources}/properties.ent">
  <!ENTITY menu SYSTEM "file:${plugin.resources}/menu.ent">
  <!ENTITY links SYSTEM "file:xdocs/stylesheets/links.ent">
[snip]
  <!ENTITY goal SYSTEM "file:${plugin.resources}/goal.ent">
  <!ENTITY mytag SYSTEM "file:xdocs/stylesheets/mytag.ent">
]>

Does anybody have another idea to achive such a functionality?

Regards,
Jörg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Mime
View raw message