axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ow...@apache.org
Subject cvs commit: xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/scripts breadcrumbs.js breadcrumbs-optimized.js
Date Tue, 17 Dec 2002 12:35:37 GMT
owenb       2002/12/17 04:35:37

  Added:       proposals/website forrest-targets.ent status.xml
                        forrest.properties readme.txt
               proposals/website/src/documentation/skins/wsif-skin/images
                        current.gif chapter_open.gif spacer.gif
                        search-left.gif centipede-logo-small.gif
                        search-right.gif built-with-cocoon.gif
                        singlepage.gif tab-right.gif tab-left.gif label.gif
                        tabSel-left.gif tabSel-right.gif menu-right.gif
                        page.gif menu-left.gif chapter.gif printer.gif
                        favicon.ico
               proposals/website/src/documentation/skins/wsif-skin/css
                        page.css
               proposals/website/src/documentation README.txt skinconf.xml
                        sitemap.xmap
               proposals/website/src/documentation/content/xdocs faq.xml
                        book.xml index.xml tabs.xml
               proposals/website/src/documentation/skins/wsif-skin/xslt/html
                        pathutils.xsl split.xsl dotdots.xsl site2xhtml.xsl
                        book2menu.xsl tab2menu.xsl document2html.xsl
               proposals/website/src/documentation/content/xdocs/wsif-samples
                        book.xml index.xml
               proposals/website/src/documentation/resources/schema/dtd
                        todo-v11.mod todo-v11.dtd
               proposals/website/src/documentation/resources/images
                        wsif.gif icon.png group-logo.gif project-logo.gif
               proposals/website/src/documentation/content
                        todo2document.xsl
               proposals/website/src/documentation/skins/wsif-skin/xslt/fo
                        document2fo.xsl
               proposals/website/src/documentation/skins/wsif-skin/scripts
                        breadcrumbs.js breadcrumbs-optimized.js
  Log:
  New proposal for WSIF web pages based on Apache Forrest - see the readme.txt file in the website dir
  
  Revision  Changes    Path
  1.1                  xml-axis-wsif/proposals/website/forrest-targets.ent
  
  Index: forrest-targets.ent
  ===================================================================
  <!--
  This build.xml snippet contains Forrest targets for Ant 1.5+.  It checks that
  the user has set ${forrest.home}, either in one of:
    build.properties
    project.properties
    ant.properties
    .ant.properties
  or with the FORREST_HOME environment variable, and prints an informative error
  message if not found.
  
  Usage:
  1) Copy this file to somewhere in your project.
  2) Add the following to the top of your project's Ant build.xml script
  (adjusting the path):
  
    <!DOCTYPE project [
      <!ENTITY forrest-targets SYSTEM "file:./forrest-targets.ent">
    ]>
  
  3) Before the closing '</project>' in your build.xml, add this:
  
    &forrest-targets;
    
  This is like expanding a macro: it pulls in the contents of this file.
  
  A minimal build.xml would thus be:
  
  <!DOCTYPE project [
  <!ENTITY forrest-targets SYSTEM "file:./forrest-targets.ent">
  ]>
  
  <project default="site">
      &forrest-targets;
  </project>
  -->
  
    <target name="site" depends="forrest.init" description="Generates static HTML documentation">
      <ant antfile="${forrest.home}/forrest.antproxy.xml" target="site"/>
    </target>
  
    <target name="webapp" depends="forrest.init" description="Generates an unpackaged webapp of the website">
      <ant antfile="${forrest.home}/forrest.antproxy.xml" target="webapp"/>
    </target>
  
    <target name="war" depends="forrest.init" description="Generates a .war file containing the website">
      <ant antfile="${forrest.home}/forrest.antproxy.xml" target="war"/>
    </target>
  
    <target name="validate" depends="forrest.init" description="Validates XML documentation files">
      <ant antfile="${forrest.home}/forrest.antproxy.xml" target="validate"/>
    </target>
  
    <target name="forrest.init" depends="forrest.sethome, forrest.home.defined"/>
  
    <target name="forrest.sethome" depends="forrest.loadenv,
    forrest.checkenv, forrest.checkhome, forrest.check-build.properties,
    forrest.check-project.properties, forrest.check-ant.properties,
    forrest.check-.ant.properties"/>
  
    <target name="forrest.loadenv" unless="forrest.home.present">
      <property environment="env"/>
      <echo level="verbose">Forrest: Got ${env.FORREST_HOME}</echo>
    </target>
  
    <target name="forrest.checkenv" if="env.FORREST_HOME">
      <echo level="verbose">Found $FORREST_HOME..</echo>
      <property name="forrest.home" location="${env.FORREST_HOME}"/>
      <echo level="verbose">forrest.home set to ${forrest.home}</echo>
      <available file="${forrest.home}" type="dir" property="forrest.home.present"/>
    </target>
  
  
    <target name="forrest.checkhome">
      <available file="${forrest.home}" type="dir" property="forrest.home.present"/>
      <available file="build.properties" type="file" property="build.properties.present"/>
      <available file="project.properties" type="file" property="project.properties.present"/>
      <available file="ant.properties" type="file" property="ant.properties.present"/>
      <available file=".ant.properties" type="file" property=".ant.properties.present"/>
    </target>
  
    <!-- No we can't extract the commonalities below into an antcall'ed target,
    because it wouldn't be able to set forrest.home -->
    <target name="forrest.check-build.properties" unless="forrest.home.present"
    if="build.properties.present">
      <echo level="verbose">Forrest: Checking build.properties..</echo>
      <loadproperties srcfile="build.properties">
        <filterchain>
          <linecontains>
            <contains value="forrest.home"/>
          </linecontains>
        </filterchain>
      </loadproperties>
      <available file="${forrest.home}" type="dir" property="forrest.home.present"/>
  
    </target>
  
    <target name="forrest.check-project.properties" unless="forrest.home.present"
    if="project.properties.present">
      <echo level="verbose">Forrest: Checking project.properties..</echo>
      <loadproperties srcfile="project.properties">
        <filterchain>
          <linecontains>
            <contains value="forrest.home"/>
          </linecontains>
        </filterchain>
      </loadproperties>
      <available file="${forrest.home}" type="dir" property="forrest.home.present"/>
    </target>
  
    <target name="forrest.check-ant.properties" unless="forrest.home.present"
    if="ant.properties.present">
      <echo level="verbose">Forrest: Checking ant.properties..</echo>
      <loadproperties srcfile="ant.properties">
        <filterchain>
          <linecontains>
            <contains value="forrest.home"/>
          </linecontains>
        </filterchain>
      </loadproperties>
      <available file="${forrest.home}" type="dir" property="forrest.home.present"/>
    </target>
  
    <target name="forrest.check-.ant.properties" unless="forrest.home.present"
    if=".ant.properties.present">
      <echo level="verbose">Forrest: Checking .ant.properties..</echo>
      <loadproperties srcfile=".ant.properties">
        <filterchain>
          <linecontains>
            <contains value="forrest.home"/>
          </linecontains>
        </filterchain>
      </loadproperties>
      <available file="${forrest.home}" type="dir" property="forrest.home.present"/>
    </target>
  
    <target name="forrest.home.defined" depends="forrest.sethome" unless="forrest.home.present">
      <property name="path" value="${user.home}/xml-forrest/build/dist/shbat"/>
      <pathconvert targetos="windows" property="winpath">
        <path>
          <pathelement location="${path}"/>
        </path>
      </pathconvert>
      <pathconvert targetos="unix" property="unixpath">
        <path>
          <pathelement
            location="${path}"/>
        </path>
      </pathconvert>
  
      <echo>
        ----------------------------------------------
        To run this target, you need Forrest installed.
        Please do the following:
  
        export CVSROOT=:pserver:anoncvs@cvs.apache.org:/home/cvspublic
        cvs checkout xml-forrest
        cd xml-forrest
        build      (Windows)
        ./build.sh (Unix)
  
        Then either:
  
        - Set FORREST_HOME as the Forrest build instructions describe
        - Create a build.properties, with the forrest.home property pointing to
          the forrest shbat directory, eg:
  
          forrest.home=${winpath}  (Windows)
          forrest.home=${unixpath}  (Unix)
  
          (adjusting the path according to where your xml-forrest is)
        ----------------------------------------------
      </echo>
      <fail message="Need to define $${forrest.home}"/>
    </target>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/status.xml
  
  Index: status.xml
  ===================================================================
  <?xml version="1.0"?>
  <status>
  
   <developers>
    <person name="Anthony Elder" email="antelder@apache.org" id="AE" />
    <person name="Owen Burroughs" email="owenb@apache.org" id="OB" />
    <person name="Jeremy Hughes" email="hughesj@apache.org" id="JH" />
    <person name="Mark Whitlock" email="whitlock@apache.org" id="MW" />
    <person name="Alek Slominski" email="aslom@apache.org" id="AS" />
    <person name="Nirmal Mukhi" email="nmukhi@apache.org" id="NM" />
    <!-- Add more people here -->
   </developers>
  
   <todo info="Tasks for ">
    <actions priority="high">
     <action context="test" dev="">
          check current release and report problems
     </action>
     <action context="dist" dev="">
          check if we can distribute all jar files
     </action>
     <action context="samples" dev="">
          samples (we need to decide what does in and what is not to be in release
     </action>
     <action context="misc" dev="">
          etc
     </action>  
    </actions>
    <actions priority="medium">
     <action context="misc" dev="">
          etc
     </action>
    </actions>
    <actions priority="low">
     <action context="misc" dev="">
          etc
     </action>
    </actions>  
    <!-- Add todo items. @context is an arbitrary string. Eg:
    <actions priority="high">
      <action context="code" dev="SN">
      </action>
    </actions>
    <actions priority="medium">
      <action context="docs" dev="open">
      </action>
    </actions>
    -->
   </todo>
  
   <changes>
    <!-- Add new releases here -->
    <release version="2.0-alpha1" date="2002">
     <!-- Some action types have associated images. By default, images are
     defined for 'add', 'fix', 'remove' and 'update'. If you add
     src/documentation/resources/images/<foo>.jpg images, these will
       automatically be used for entries of type <foo>. -->
  
     <action dev="" type="add" context="admin">
              Initial 2.0 alpha release. <link href="http://cvs.apache.org/dist/axis/wsif/">Download here</link>
     </action>
     <!-- Sample action:
     <action dev="JB" type="fix" due-to="Joe Contributor"
       due-to-email="joec@apache.org">
       Fixed a bug in the Foo class.
     </action>
     -->
    </release>
   </changes>
  </status>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/forrest.properties
  
  Index: forrest.properties
  ===================================================================
  ##############
  # Properties used by forrest.build.xml for building the website
  ##############
  
  # Prints out a summary of Forrest settings for this project
  forrest.echo=true 
  
  # Project name (used to name .war file)
  project.name=wsif
  
  # Specifies name of Forrest skin to use
  #project.skin=forrest-site
  project.skin=wsif-skin
  
  
  ##############
  # layout properties
  
  # Properties that must be set to override the default locations
  #
  # Parent properties must be set. This usually means uncommenting
  # project.content-dir if any other property using it is uncommented
  
  project.status=status.xml
  project.content-dir=src/documentation
  project.conf-dir=${project.content-dir}/conf
  project.sitemap=${project.content-dir}/sitemap.xmap
  project.xdocs-dir=${project.content-dir}/content/xdocs
  project.stylesheets-dir=${project.content-dir}/resources/stylesheets
  project.images-dir=${project.content-dir}/resources/images
  project.schema-dir=${project.content-dir}/resources/schema
  project.skins-dir=${project.content-dir}/skins
  project.skinconf=${project.content-dir}/skinconf.xml
  project.lib-dir=${project.content-dir}/lib
  project.classes-dir=${project.content-dir}/classes
  
  
  ##############
  # validation properties
  
  # These props determine if validation is performed at all
  # Values are inherited unless overridden.
  # Eg, if forrest.validate=false, then all others are false unless set to true.
  forrest.validate=true
  forrest.validate.xdocs=${forrest.validate}
  forrest.validate.skinconf=${forrest.validate}
  forrest.validate.sitemap=${forrest.validate}
  forrest.validate.stylesheets=${forrest.validate}
  forrest.validate.skins=${forrest.validate}
  forrest.validate.skins.stylesheets=${forrest.validate.skins}
  
  
  # Key:
  # *.failonerror=(true|false)    stop when an XML file is invalid
  # *.includes=(pattern)         Comma-separated list of path patterns to validate
  # *.excludes=(pattern)         Comma-separated list of path patterns to not validate
  
  forrest.validate.failonerror=true
  forrest.validate.includes=**/*
  forrest.validate.excludes=
  #
  forrest.validate.xdocs.failonerror=${forrest.validate.failonerror}
  #
  forrest.validate.xdocs.includes=**/*.x*
  forrest.validate.xdocs.excludes=
  #
  forrest.validate.skinconf.includes=${skinconf-file}
  forrest.validate.skinconf.excludes=
  forrest.validate.skinconf.failonerror=${forrest.validate.failonerror}
  #
  forrest.validate.sitemap.includes=${sitemap-file}
  forrest.validate.sitemap.excludes=
  forrest.validate.sitemap.failonerror=${forrest.validate.failonerror}
  #
  forrest.validate.stylesheets.includes=**/*.xsl
  forrest.validate.stylesheets.excludes=
  forrest.validate.stylesheets.failonerror=${forrest.validate.failonerror}
  #
  forrest.validate.skins.includes=**/*
  forrest.validate.skins.excludes=**/*.xsl
  forrest.validate.skins.failonerror=${forrest.validate.failonerror}
  #
  forrest.validate.skins.stylesheets.includes=**/*.xsl
  forrest.validate.skins.stylesheets.excludes=
  forrest.validate.skins.stylesheets.failonerror=${forrest.validate.skins.failonerror}
  
  
  
  1.1                  xml-axis-wsif/proposals/website/readme.txt
  
  Index: readme.txt
  ===================================================================
  This directory contains a proposal for Apache Forrest based WSIF web pages for the XML Apache site.
  
  This directory forms an Apache Forrest project. To build the pages, follow these simple steps:
  
  1) Download Apache Forrest from http://www.apache.org/dist/xml/forrest/
  
  2) Set up the Forrest environment as described in the Using Forrest article on the Forrest web site:
     http://xml.apache.org/forrest/your-project.html
     
  3) Navigate to the proposals/website directory
  
  4) Run Forrest on the WSIF pages by simply typing forrest
  
  5) Hopefully you should see the line BUILD SUCCESSFUL and a build directory should have been created under the website directory
  
  6) Navigate to website/build/site and launch index.html to view the WSIF site
  
  
  
  If you have problems building the site check the following that you have correctly configured Forrest 
  (see http://xml.apache.org/forrest/your-project.html)
  
  If you make changes to the source files and rebuild the site, you might find that the changes don't seem to take effect.
  If this happens, try deleting the build directory before running forrest.
  
  More inforamtion about using Forrest can be found at http://xml.apache.org/forrest
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/current.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/chapter_open.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/spacer.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/search-left.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/centipede-logo-small.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/search-right.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/built-with-cocoon.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/singlepage.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/tab-right.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/tab-left.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/label.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/tabSel-left.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/tabSel-right.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/menu-right.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/page.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/menu-left.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/chapter.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/printer.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/images/favicon.ico
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/css/page.css
  
  Index: page.css
  ===================================================================
  body {  background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif;  font-size : 90%;  }
  
  a:link { color: #0F3660; }
  a:visited { color: #004499; }
  a:active { color: #000066; }
  a:hover { color: #000055; }
  
  .menu { background-color: #4C6C8F; margin: 0px; padding: 3px 8px 5px 3px;  font-size : 90%;  }
  .menu a:link { color: #FFFFFF;  text-decoration : none;  }
  .menu a:visited { color: #FFFFFF; text-decoration : none; }
  /*.menu a:active { font-weight: bold }*/
  .menu a:hover { color: #FFCC00; text-decoration : none; }
  .menu ul { margin: 0px 0px 0px 20px; padding: 0px; }
  .menu li  { list-style-image: url('images/label.gif'); font-weight : bold; }
  .menu ul ul li .sel { list-style-image: url('images/current.gif'); font-weight : normal; }
  .menu ul ul li  { list-style-image: url('images/page.gif'); font-weight : normal; }
  
  table .title { background-color: #FFFFFF; width:100%; border: 0px; }
  .dida { font-size: 60%; }
  
  .pre { white-space: pre;}
  
  .content { padding: 5px 5px 5px 10px; font : small Verdana, Helvetica, sans-serif;  font-size : 90%; }
  .content .ForrestTable { width: 100%; background-color: #7099C5; color: #ffffff; font-size : 90%;}
  .content .ForrestTable caption { text-align: left; color: black; font-weight: bold; }
  .content .ForrestTable th { text-align: center; }
  .content .ForrestTable td { background-color: #f0f0ff; color: black; }
  
  .frame { margin: 5px 20px 5px 20px; font-size: 90%; }
  .frame .content { margin: 0px; }
  
  .note { border: solid 1px #7099C5; background-color: #f0f0ff; }
  .note .label { background-color: #7099C5; color: #ffffff; }
  
  .warning { border: solid 1px #D00000; background-color: #fff0f0; }
  .warning .label { background-color: #D00000; color: #ffffff; }
  
  .fixme { border: solid 1px #C6C600; background-color: #FAF9C3; }
  .fixme .label { background-color: #C6C600; color: #ffffff; }
  
  .code { border-color: #CFDCED; border-style: solid; border-width: 1px; }
  .codefrag {	font-family: "Courier New", Courier, monospace; }
  
  .highlight { background-color: yellow; }
  
  .minitoc {margin: 5px 5px 5px 40px;}
  
  .dtdElement { width: 100%;	font-size: 90%; background-color : #ffffff; }
  
  .dtdTag {    color: #990000; text-transform : uppercase;  font-style : normal;  font-size : 120%;  font-weight : bold; }
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/README.txt
  
  Index: README.txt
  ===================================================================
  This is the base documentation directory. It usually contains two files:
  
  skinconf.xml     # This file customizes Forrest for your project. In it, you
                   # tell forrest the project name, logo, copyright info, etc
  
  sitemap.xmap     # Optional. This sitemap overrides the default one bundled
                   # with Forrest. Typically, one would copy a sitemap from
                   # xml-forrest/src/resources/conf/sitemap.xmap, and customize
                   # it.
  
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skinconf.xml
  
  Index: skinconf.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!--
  Skin configuration file. This file contains details of your project, which will
  be used to configure the chosen Forrest skin.
  -->
  
  <!DOCTYPE skinconfig [
  
    <!ENTITY % links.att 'name CDATA #REQUIRED'>
    <!ENTITY % link.att 'name CDATA #REQUIRED href CDATA #REQUIRED'>
    <!ELEMENT skinconfig (disable-search?, searchsite-domain?, searchsite-name?, project-name, project-url, project-logo, group-name?, group-url?, group-logo?, host-url?, host-logo?, year?, vendor?, trail?, credits?)*>
    <!ELEMENT credits (credit*)>
    <!ELEMENT credit (name, url, image, width?, height?)>
    <!ELEMENT disable-search (#PCDATA)>
    <!ELEMENT searchsite-domain (#PCDATA)>
    <!ELEMENT searchsite-name (#PCDATA)>  
    <!ELEMENT project-name (#PCDATA)>
    <!ELEMENT project-url (#PCDATA)>
    <!ELEMENT project-logo (#PCDATA)>
    <!ELEMENT group-name (#PCDATA)>
    <!ELEMENT group-url (#PCDATA)>
    <!ELEMENT group-logo (#PCDATA)>
    <!ELEMENT host-url (#PCDATA)>
    <!ELEMENT host-logo (#PCDATA)>
    <!ELEMENT year (#PCDATA)>
    <!ELEMENT vendor (#PCDATA)>
    <!ELEMENT trail (link1, link2, link3)>
    <!ELEMENT link1 EMPTY>
    <!-- Seems we can't use param entity refs until this is DTDified -->
    <!ATTLIST link1 name CDATA #REQUIRED href CDATA #IMPLIED>
    <!ELEMENT link2 EMPTY>
    <!ATTLIST link2 name CDATA #REQUIRED href CDATA #IMPLIED>
    <!ELEMENT link3 EMPTY>
    <!ATTLIST link3 name CDATA #REQUIRED href CDATA #IMPLIED>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT url (#PCDATA)>
    <!ELEMENT image (#PCDATA)>
    <!ELEMENT width (#PCDATA)>
    <!ELEMENT height (#PCDATA)>
    ]>
  
  <skinconfig>
    <!-- Do we want to disable the Google search box? -->
    <disable-search>false</disable-search>
    <searchsite-domain>xml.apache.org/axis/wsif</searchsite-domain>
    <searchsite-name>WSIF</searchsite-name>  
  
    <!-- mandatory project logo
         skin: forrest-site renders it at the top -->
    <project-name>WSIF</project-name>
    <project-url>http://xml.apache.org/axis/wsif</project-url>
    <project-logo>images/wsif.gif</project-logo>
  
    <!-- optional group logo
         skin: forrest-site renders it at the top-left corner -->
    <group-name>XML Apache</group-name>
    <group-url>http://xml.apache.org</group-url>
    <group-logo>images/group-logo.gif</group-logo>
  
    <!-- optional host logo (e.g. sourceforge logo)
         skin: forrest-site renders it at the bottom-left corner -->
    <host-url></host-url>
    <host-logo></host-logo>
  
    <!-- The following are used to construct a copyright statement -->
    <year>2002</year>
    <vendor>The Apache Software Foundation.</vendor>
  
    <!-- Some skins use this to form a 'breadcrumb trail' of links. If you don't
    want these, set the attributes to blank. The DTD purposefully requires them.
    -->
    <trail>
      <link1 name="Apache" href="http://www.apache.org/"/>
      <link2 name="XML.Apache" href="http://xml.apache.org/"/>
      <link3 name="WSIF" href="http://xml.apache.org/axis/wsif"/>
    </trail>
  
    <!-- Credits are typically rendered as a set of small clickable images in the
    page footer -->
    <credits>
      <credit>
        <name>Built with Apache Forrest</name>
        <url>http://xml.apache.org/forrest/</url>
        <image>images/built-with-forrest-button.png</image>
        <width>88</width>
        <height>31</height>
      </credit>
    </credits>
  </skinconfig>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  <?xml version="1.0"?>
  
  <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  
  <!-- =========================== Components ================================ -->
  
   <map:components>
  
    <map:generators default="file">
     <map:generator  name="file"        src="org.apache.cocoon.generation.FileGenerator" label="content"/>
     <map:generator  name="directory"   src="org.apache.cocoon.generation.DirectoryGenerator" label="content"/>
     <map:generator  name="html"        src="org.apache.cocoon.generation.HTMLGenerator" label="content"/>
     <map:generator  name="libre"       src="org.apache.forrest.yer.use.cocoon.HierarchyGenerator" label="content"/>
     <map:generator  name="nekodtd"     src="org.apache.forrest.components.generator.XNIConfigurableFileGenerator" label="content"/>
     <!-- FIXME: Change this once better view handling is implemented -->
     <map:generator  name="file-nolabel" src="org.apache.cocoon.generation.FileGenerator"/>
    </map:generators>
  
    <map:transformers default="xslt">
    <!--
     <map:transformer     name="xslt"      src="org.apache.cocoon.transformation.TraxTransformer">
      <use-request-parameters>false</use-request-parameters>
      <use-browser-capabilities-db>false</use-browser-capabilities-db>
     </map:transformer>
    -->
      <map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer"
                          logger="sitemap.transformer.xsltc"
                          pool-max="32" pool-min="8" pool-grow="2">
        <use-request-parameters>false</use-request-parameters>
        <use-browser-capabilities-db>false</use-browser-capabilities-db>
        <use-deli>false</use-deli>
        <!-- transformer-factory>com.icl.saxon.TransformerFactoryImpl</transformer-factory -->
        <!-- transformer-factory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</transformer-factory -->
      </map:transformer>
    </map:transformers>
        
    <map:readers default="resource">
     <map:reader name="resource"       src="org.apache.cocoon.reading.ResourceReader"/>
    </map:readers>
  
    <map:serializers default="html">
     <map:serializer name="html"   mime-type="text/html"        src="org.apache.cocoon.serialization.HTMLSerializer">
      <doctype-public>-//W3C//DTD HTML 4.01 Transitional//EN</doctype-public>
       <encoding>ISO-8859-1</encoding>
     </map:serializer>
  
     <map:serializer name="xml"    mime-type="text/xml"         src="org.apache.cocoon.serialization.XMLSerializer">
       <encoding>ISO-8859-1</encoding>
     </map:serializer>
  
     <map:serializer name="fo2pdf"
                  src="org.apache.cocoon.serialization.FOPSerializer"
                  mime-type="application/pdf"/>
  
  
     <map:serializer name="links"                               src="org.apache.cocoon.serialization.LinkSerializer">
       <encoding>ISO-8859-1</encoding>
     </map:serializer>
     <map:serializer name="svg2jpeg" mime-type="image/jpeg"     src="org.apache.cocoon.serialization.SVGSerializer">
         <parameter name="quality" type="float" value="1.0"/>
     </map:serializer>
     <map:serializer name="svg2png" mime-type="image/png"       src="org.apache.cocoon.serialization.SVGSerializer"/>
    </map:serializers>
  
    <map:matchers default="wildcard">
     <map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/>
    </map:matchers>
  <!--
    <map:selectors default="skin-parameter">
      <map:selector name="request-parameter" logger="sitemap.selector.request-parameter"
                   src="org.apache.cocoon.selection.RequestParameterSelector">
        <parameter-name>skin</parameter-name>
      </map:selector>
      <map:selector name="style-parameter" logger="sitemap.selector.request-parameter"
                   src="org.apache.cocoon.selection.RequestParameterSelector">
        <parameter-name>style</parameter-name>
      </map:selector>
  
    </map:selectors>
  -->
    <map:actions>
     <!-- <map:action logger="sitemap.action.request" name="request" src="org.apache.cocoon.acting.RequestParamAction"/> -->
      <map:action logger="sitemap.action.resource-exists" name="resource-exists" src="org.apache.cocoon.acting.ResourceExistsAction"/>
    </map:actions>
  
    <!--
       The different pipeline implementations
    -->
    <map:pipelines default="caching">
       <map:pipeline name="caching" src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/>
       <map:pipeline name="noncaching" src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/>
       <!-- The following two can be used for profiling:
       <map:pipeline name="profile-caching" src="org.apache.cocoon.components.profiler.ProfilingCachingProcessingPipeline"/>
       <map:pipeline name="profile-noncaching" src="org.apache.cocoon.components.profiler.ProfilingNonCachingProcessingPipeline"/>
       -->
    </map:pipelines>
    
   </map:components>
  
  <!-- =========================== Views =================================== -->
  
   <map:views>
    <map:view name="content" from-label="content">
     <map:serialize type="xml"/>
    </map:view>
  
    <map:view name="links" from-position="last">
     <map:transform src="library/xslt/filterlinks.xsl"/>
     <map:serialize type="links"/>
    </map:view>
   </map:views>
  
   <map:resources>
    <map:resource name="skinit">
     <map:transform src="skins/{defaults:skin}/xslt/html/{type}.xsl">
       <map:parameter name="isfaq" value="{isfaq}"/>
       <map:parameter name="nopdf" value="{nopdf}"/>
       <map:parameter name="path" value="{path}"/>
       <!-- Can set an alternative project skinconfig here 
       <map:parameter name="config-file" value="../../../../skinconf.xml"/>
       -->
     </map:transform>
     <map:serialize/>
    </map:resource>
  
    <map:resource name="book">
      <map:generate src="content/xdocs/{../1}book.xml"/>
      <map:call resource="skinit">
        <map:parameter name="type" value="book2menu"/>
        <map:parameter name="path" value="{path}"/>
      </map:call>
    </map:resource>
  
    <map:resource name="skin-read">
      <map:read src="skins/{defaults:skin}/{path}" mime-type="{mime-type}"/>
    </map:resource>
  
   </map:resources>
  
  <!-- =========================== Pipelines ================================= -->
  
   <map:pipelines>
    
    <!-- Pipeline that manages the internal URI space
         For the external URI space manager, see the next pipeline. -->
    <map:pipeline internal-only="true">
  
    <map:match pattern="**tab-**.xml">
      <map:generate src="content/xdocs/tabs.xml"/>
      <map:call resource="skinit">
       <map:parameter name="type" value="tab2menu"/>
       <map:parameter name="path" value="{2}"/>
      </map:call>
    </map:match>
  
    <map:match pattern="**book-**/*.xml">
      <map:call resource="book">
       <map:parameter name="path" value="{2}/{3}.xml"/>
      </map:call>
    </map:match>
  
    <map:match pattern="**book-**.xml">
      <map:call resource="book">
        <map:parameter name="path" value="{2}.xml"/>
      </map:call>
    </map:match>
  
    <map:match pattern="body-todo.xml">
       <map:generate type="file-nolabel" src="status.xml"/>
       <map:transform src="content/todo2document.xsl" label="content"/>
       <map:call resource="skinit">
        <map:parameter name="type" value="document2html"/>
        <map:parameter name="path" value="/todo.xml"/>
       </map:call>
     </map:match>
  
     <map:match pattern="body-changes.xml">
       <map:generate type="file-nolabel" src="status.xml"/>
       <map:transform src="library/xslt/changes2document.xsl" label="content"/>
       <map:call resource="skinit">
        <map:parameter name="type" value="document2html"/>
        <map:parameter name="path" value="/changes.xml"/>
       </map:call>
     </map:match>
  
     <map:match pattern="body-**/faq.xml">
       <map:generate type="file-nolabel" src="content/xdocs/{1}/faq.xml"/>
       <map:transform src="library/xslt/faq2document.xsl" label="content"/>
       <map:call resource="skinit">
        <map:parameter name="type" value="document2html"/>
        <map:parameter name="path" value="{1}/faq.xml"/>
        <map:parameter name="isfaq" value="true"/>
  
       </map:call>
     </map:match>
  
     <map:match pattern="body-faq.xml">
       <map:generate type="file-nolabel" src="content/xdocs/faq.xml"/>
       <map:transform src="library/xslt/faq2document.xsl" label="content"/>
       <map:call resource="skinit">
        <map:parameter name="type" value="document2html"/>
        <map:parameter name="path" value="faq.xml"/>
        <map:parameter name="isfaq" value="true"/>
  
       </map:call>
     </map:match>
  
  
     <!-- Redirect requests for community/ (eg in the trail) to the home page -->
     <map:match pattern="community/index.html">
       <map:redirect-to uri="../index.html"/>
     </map:match>
  
     <!-- index pages for contribution categories -->
     <map:match pattern="body-community/*/index.xml">
       <map:generate src="content/xdocs/community/{1}/index.xml"/>
       <map:call resource="skinit">
        <map:parameter name="type" value="document2html"/>
        <map:parameter name="path" value="community/{1}/index"/>
       </map:call>
     </map:match>
  
     <!-- no special transformation, yet, for revision pages -->
     <map:match pattern="body-community**revision-*.xml">
       <map:generate src="content/xdocs/community{1}revision-{2}.xml"/>
       <map:call resource="skinit">
        <map:parameter name="type" value="document2html"/>
        <map:parameter name="path" value="community/{1}/revision-{2}"/>
       </map:call>
     </map:match>
  
     <!-- all contribution docs -->
     <map:match pattern="body-community/*/*/**.xml">
       <map:aggregate element="all" >
         <map:part src="content/xdocs/community/{1}/{2}/{3}.xml"/>
         <map:part src="cocoon:/revisions-community/{1}/{2}/{3}" />
       </map:aggregate>
       <map:transform src="library/xslt/{1}2document.xsl" label="content"/>
       <map:call resource="skinit">
        <map:parameter name="type" value="document2html"/>
        <map:parameter name="path" value="community/{1}/{2}/{3}.xml"/>
       </map:call>
     </map:match>
  
     <!-- revisions only implemented for community pages -->
    <map:match pattern="revisions-community/*/*/**">
       <map:generate type="directory" src="content/xdocs/community/{1}/{2}">
      <map:parameter name="dateFormat" value="yyyy-MM-dd hh:mm" />
     </map:generate>
       <map:transform src="library/xslt/directory2revisions.xsl" label="content" >
         <map:parameter name="use-request-parameters" value="true"/>
         <map:parameter name="page" value="{3}"/>
       </map:transform>
     <map:serialize type="xml" />
   </map:match>
  
   <!-- Any other howto directories get transformed, without revisions -->
   <map:match pattern="body-**howto/*.xml">
     <map:generate src="content/xdocs/{1}howto/{2}.xml"/>
     <map:transform src="library/xslt/howto2document.xsl" label="content"/>
     <map:call resource="skinit">
       <map:parameter name="type" value="document2html"/>
       <map:parameter name="path" value="{1}howto/{2}.xml"/>
     </map:call>
   </map:match>
  
  
     <!-- Generate the "doclist" - list of all documentation
       The first match generates each book.xml and adds a new attribute "uri".
       The second match aggregates each book.xml into a doclist and
       then converts it to a document.
     -->
     <map:match pattern="doclist/content/xdocs/**book.xml">
       <map:generate src="content/xdocs/{1}book.xml"/>
       <map:transform src="library/xslt/doclist.xsl">
         <map:parameter name="uri" value="{1}"/>
       </map:transform>
       <map:serialize type="xml"/>
      </map:match>
  
     <map:match pattern="body-doclist.xml">
       <map:aggregate element="doclist">
         <map:part src="cocoon:/doclist/content/xdocs/book.xml"/>
         <map:part src="cocoon:/doclist/content/xdocs/community/howto/book.xml"/>
       </map:aggregate>
       <map:transform src="library/xslt/doclist2document.xsl"/>
       <map:call resource="skinit">
        <map:parameter name="type" value="document2html"/>
        <map:parameter name="path" value="doclist.xml"/>
        <map:parameter name="nopdf" value="true"/>
       </map:call>
     </map:match>
  
     <!-- HTML DTD Documentation generation pipeline, makes use of NekoDTD tool -->
  
     <map:match pattern="body-**.dtdx.xml">
       <map:generate type="nekodtd" src="resources/schema/dtd/{1}.dtd">
         <map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
       </map:generate>
       <map:transform src="library/xslt/dtdx2flat.xsl"/>
       <map:transform src="library/xslt/flat2document.xsl"/>
       <map:call resource="skinit">
        <map:parameter name="type" value="document2html"/>
        <map:parameter name="isfaq" value="true"/>
        <map:parameter name="path" value="{1}.dtdx.xml"/>
       </map:call>
     </map:match>
  
     <!-- Generates body HTML for files in subdirs -->
     <map:match pattern="body-**/*.xml">
      <map:generate src="content/xdocs/{1}/{2}.xml"/>
      <map:call resource="skinit">
       <map:parameter name="type" value="document2html"/>
       <map:parameter name="path" value="{1}/{2}.xml"/>
      </map:call>
      </map:match>
  
     <!-- Generates body HTML for root-level files -->
     <map:match pattern="body-**.xml">
      <map:generate src="content/xdocs/{1}.xml"/>
      <map:call resource="skinit">
       <map:parameter name="type" value="document2html"/>
       <map:parameter name="path" value="{1}.xml"/>
      </map:call>
     </map:match>
  
    </map:pipeline>
  
  
    <map:pipeline internal-only="false">
  
     <!-- ======================    editor    ============================== -->
     <map:match pattern="edit**">
       <map:mount uri-prefix="edit" src="editor.xmap" check-reload="yes"/>
     </map:match>
     
     <!-- ==================   External URI-space    ========================= -->   
  
  
     <map:match pattern="">
      <map:redirect-to uri="{context:context}/index.html"/>
     </map:match>
  
     <map:match pattern="**">
     
      <!-- if the file is present verbatim as content, give that to the user... -->
      <map:act type="resource-exists">
       <map:parameter name="url" value="content/{1}"/>
       <map:read src="content/{../1}"/>
      </map:act>
     
     <!-- ... otherwise try to generate it using these rules.  -->
    
    <map:match pattern="apachestats">
      <map:generate type="html"
                    src="http://www.apache.org/~rubys/stats/xml.apache.org/">
        <map:parameter name="xpath"
                       value="/html/body//a[contains(@href,'.xml')]"/>
      </map:generate>
      <map:serialize type="xml"/>
    </map:match>
  
       
     <map:match pattern="*.html">
      <map:aggregate element="site">
       <map:part src="cocoon:/book-{1}.xml"/>
       <map:part src="cocoon:/tab-{1}.xml"/>
       <map:part src="cocoon:/body-{1}.xml" label="content"/>
      </map:aggregate>
      <map:call resource="skinit">
        <map:parameter name="type" value="site2xhtml"/>
        <map:parameter name="path" value="{0}"/>
      </map:call>
     </map:match>
  
     <map:match pattern="**/*.html">
      <map:aggregate element="site">
       <map:part src="cocoon:/{1}/book-{1}/{2}.xml"/>
       <map:part src="cocoon:/{1}/tab-{1}/{2}.xml"/>
       <map:part src="cocoon:/body-{1}/{2}.xml" label="content"/>
      </map:aggregate>
       <map:call resource="skinit">
        <map:parameter name="type" value="site2xhtml"/>
        <map:parameter name="path" value="{0}"/>
       </map:call>
     </map:match>
  
     <map:match pattern="*.dtdx.pdf">
       <map:generate type="nekodtd" src="resources/schema/dtd/{1}.dtd">
         <map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
       </map:generate>
       <map:transform src="library/xslt/dtdx2flat.xsl"/>
       <map:transform src="library/xslt/flat2document.xsl"/>
       <map:transform src="skins/{defaults:skin}/xslt/fo/document2fo.xsl"/>
      <map:serialize type="fo2pdf"/>
     </map:match>
  
     <map:match pattern="**/*.dtdx.pdf">
       <map:generate type="nekodtd" src="resources/schema/dtd/{2}.dtd">
         <map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
       </map:generate>
       <map:transform src="library/xslt/dtdx2flat.xsl"/>
       <map:transform src="library/xslt/flat2document.xsl"/>
      <map:transform src="skins/{defaults:skin}/xslt/fo/document2fo.xsl"/>
      <map:serialize type="fo2pdf"/>
     </map:match>
  
     <map:match pattern="changes.pdf">
      <map:generate type="file-nolabel" src="status.xml"/>
      <map:transform src="library/xslt/changes2document.xsl" label="content"/>
      <map:transform src="skins/forrest-site/xslt/fo/document2fo.xsl"/>
      <map:serialize type="fo2pdf"/>
     </map:match>
  
     <map:match pattern="todo.pdf">
      <map:generate type="file-nolabel" src="status.xml"/>
      <map:transform src="content/todo2document.xsl" label="content"/>
      <map:transform src="skins/forrest-site/xslt/fo/document2fo.xsl"/>
      <map:serialize type="fo2pdf"/>
     </map:match>
  
     <map:match pattern="faq.pdf">
      <map:generate type="file-nolabel" src="content/xdocs/faq.xml"/>
      <map:transform src="library/xslt/faq2document.xsl" label="content"/>
      <map:transform src="skins/forrest-site/xslt/fo/document2fo.xsl"/>
      <map:serialize type="fo2pdf"/>
     </map:match>
  
     <map:match pattern="community/howto/**.pdf">
      <map:generate src="content/xdocs/community/howto/{1}.xml"/>
      <map:transform src="library/xslt/howto2document.xsl" label="content"/>
      <map:transform src="skins/{defaults:skin}/xslt/fo/document2fo.xsl"/>
      <map:serialize type="fo2pdf"/>
     </map:match>
  
     <map:match pattern="**.pdf">
      <map:generate src="content/xdocs/{1}.xml"/>
      <map:transform src="skins/{defaults:skin}/xslt/fo/document2fo.xsl"/>
      <map:serialize type="fo2pdf"/>
     </map:match>
  
     <!-- ================  Directory redirects   =========================== -->
     <!-- Redirect any request for a directory to the directory's index.html file  -->
     <map:match pattern="**/">
       <map:redirect-to uri="{context:context}/{1}/index.html"/>
     </map:match>
  
     <!-- ================  Libre   =========================== -->
  
     <map:match pattern="libre">
       <map:generate type="libre" src="content/xdocs" >
        <map:parameter name="depth" value="-1" />
       </map:generate>
       <map:serialize type="xml"/>
     </map:match>
  
     <!-- ================  Static  =========================== -->
  
     <map:match pattern="skin/**.js">
      <map:call resource="skin-read">
        <map:parameter name="path" value="scripts/{1}.js"/>
        <map:parameter name="mime-type" value="application/javascript"/>
      </map:call>
     </map:match>
  
     <map:match pattern="**/skin/**.js">
      <map:call resource="skin-read">
        <map:parameter name="path" value="scripts/{2}.js"/>
        <map:parameter name="mime-type" value="application/javascript"/>
      </map:call>
     </map:match>
  
     <map:match pattern="**.js">
       <map:read src="resources/scripts/{1}.js" mime-type="application/javascript"/>
     </map:match>
  
     <map:match pattern="skin/**.css">
      <map:call resource="skin-read">
        <map:parameter name="path" value="css/{1}.css"/>
        <map:parameter name="mime-type" value="text/css"/>
      </map:call>
     </map:match>
  
     <map:match pattern="**/skin/**.css">
      <map:call resource="skin-read">
        <map:parameter name="path" value="css/{2}.css"/>
        <map:parameter name="mime-type" value="text/css"/>
      </map:call>
     </map:match>
  
     <map:match pattern="**.css">
      <map:read src="resources/css/{1}.css" mime-type="text/css"/>
     </map:match>
  
     <map:match pattern="skin/images/**.*">
      <map:call resource="skin-read">
        <map:parameter name="path" value="images/{1}.{2}"/>
        <map:parameter name="mime-type" value="image/{2}"/>
      </map:call>
     </map:match>
  
     <!-- WARNING: You are strongly advised not to make use of this target, as it
     leads to browsers having to cache multiple copies of the images, one per
     directory. See the forrest-site skin XSLTs for an example of how to make
     all image references use the 'skin/images/**.*' rule above -->
     <map:match pattern="**/skin/images/**.*">
      <map:call resource="skin-read">
        <map:parameter name="path" value="images/{2}.{3}"/>
        <map:parameter name="mime-type" value="image/{3}"/>
      </map:call>
     </map:match>
  
     <!-- DS: handles images local to a contributor directory -->
     <map:match pattern="**my-images/**.*">
      <map:read src="content/xdocs/{1}my-images/{2}.{3}" mime-type="image/{3}"/>
     </map:match>
  
     <map:match pattern="images/**.*">
      <map:read src="resources/images/{1}.{2}" mime-type="image/{2}"/>
     </map:match>
  
     <!-- WARNING: See above: this target should not be made use of -->
     <map:match pattern="**/images/**.*">
      <map:read src="resources/images/{2}.{3}" mime-type="image/{3}"/>
     </map:match>
  
     <map:match pattern="**favicon.ico">
      <map:call resource="skin-read">
        <map:parameter name="path" value="images/favicon.ico"/>
        <map:parameter name="mime-type" value="image/x-ico"/>
      </map:call>
     </map:match>
  
     </map:match>
     
    </map:pipeline>
   </map:pipelines>
  
  </map:sitemap>
  
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/content/xdocs/faq.xml
  
  Index: faq.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE faqs PUBLIC
         "-//APACHE//DTD FAQ V1.1//EN"
         "faq-v11.dtd">
  <faqs title="Frequently Asked Questions">
   <faq>
    <question>What is official version of WSIF? How to get the latest version?</question>
    <answer>
     <p>
  The official version of WSIF is found here on the Apache web site.
  Nightly builds are available at
      <link href="http://xml.apache.org/dist/axis/nightly/">http://xml.apache.org/dist/axis/nightly/</link>
     </p>
     <p>
            The&nbsp; xml-axis-wsif-src.zip contains source distribution and wsif-bin zip file contains a built wsif.jar  along with the API Javadoc.
     </p>
     <p>
  The version available from
      <link href="http://www.alphaworks.ibm.com/">Alphaworks</link>
  is no longer maintained.
     </p>
    </answer>
   </faq>
  
   <faq>
    <question>What are differences between WSIF and JAX-RPC?</question>
    <answer>
     <p>TODO
     </p>
    </answer>
   </faq>
  
   <faq>
    <question>Where are extensions to WSDL that are supported by WSIF documented?</question>
    <answer>
     <p>This is described  in
      <link href="how_to_wsdl_extensions.htm">separate document</link>
     </p>
    </answer>
   </faq>
  </faqs>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/content/xdocs/book.xml
  
  Index: book.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" "book-cocoon-v10.dtd">
  
  <book software="WSIF"
    title="WSIF"
    copyright="@year@ The Apache Software Foundation"
    xmlns:xlink="http://www.w3.org/1999/xlink">
  
    <menu label="About">
      <menu-item label="Introduction" href="index.html"/>
      <menu-item label="FAQ" href="faq.html"/>    
    </menu>
  
    <menu label="Using WSIF">
       <menu-item label="Samples" href="wsif-samples/index.html"/>
    </menu>
  
  
    <menu label="Development">
      <menu-item label="To do" href="todo.html"/>
      <menu-item label="Changes" href="changes.html"/>
    </menu>
  </book>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/content/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
        <document> 
          <header> 
            <title>Welcome to WSIF: Web Services Invocation Framework</title> 
          </header> 
          <body> 
            <section>
                <title>Introduction</title>
                <p>
  The Web Services Invocation Framework (WSIF) is a simple Java API for invoking Web services, 
  no matter how or where the services are provided.       </p>
  
  <p>WSIF enables developers to interact with representations
  of Web services instead of working directly with the Simple Object Access 
  Protocol (SOAP) APIs, which is the usual programming model. With WSIF, developers
  can work with the same programming model regardless of how the Web service is 
  implemented and accessed. It frees the developer from the constraints of having 
  to develop services for particular transport protocols or service environments. 
  Thus, it has an API that provides binding-independent access to any Web service.</p>
  
  <p>WSIF allows stubless or completely dynamic invocation of a Web service, based 
  upon examination of the meta-data about the service at runtime. It also allows 
  updated implementations of a binding to be plugged into WSIF at runtime, and it 
  allows the calling service to defer choosing a binding until runtime. </p>
  
  <p>Finally, WSIF is closely based upon WSDL, so it can invoke any service 
  that can be described in WSDL.</p> 
  
  </section>
  <section>
      <title>Whats new with WSIF?</title>
  <p>
  The first Apache WSIF realease candidate is currently being worked on and 
  should be available in the near future. Check back here and watch the
  <link href="http://xml.apache.org/axis/mail.html">mailing lists</link> for news
  </p>
  <p>
  The WSIF documentation is slowly coming together with descriptions of the WSIF
  <link href="http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/README_files/wsdl_extensions/java_extension.html">Java</link>
  and 
  <link href="http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/README_files/wsdl_extensions/ejb_extension.html">EJB</link>
  bindings now available.
  </p>
  <p>
  WSIF has been changed so the Apache Axis provider is now used for the default SOAP binding. 
  WSIF has two SOAP providers, one based on Apache SOAP, the other on Apache Axis. </p>
  </section>
  <section>
  <title>WSIF Structure</title>
  <p>
  In WSDL a binding defines how to map between the abstract PortType and a 
  real service format and protocol. For example, the SOAP binding defines 
  the encoding style, the SOAPAction header, the namespace of the body 
  (the targetURI), and so forth.</p>
  <p>
  WSDL allows there to be multiple implementations for a Web Service, 
  and multiple Ports that share the same PortType. In other words, WSDL 
  allows the same interface to have bindings to for example, SOAP and 
  IIOP.</p> 
  
  <p>WSIF provides an API to allow the same client code to access any 
  available binding. As the client code can then be written to the PortType
  it can be a deployment or configuration setting (or a code choice) 
  which port and binding it uses.</p>
  
  <p>
  WSIF uses 'providers' to support these multiple WSDL bindings. A provider 
  is a piece of code that supports a WSDL extension and allows invocation of 
  the service through that particular implementation. WSIF providers use the 
  J2SE JAR service provider specification making them discoverable at runtime.
  </p>
  <p>
  Clients can then utilize any new implementations and can delegate the 
  choice of port to the infrastructure and runtime, which allows the 
  implementation to be chosen on the basis of quality of service 
  characteristics or business policy.</p>
  </section>
  <section>
  <title>Prerequisites</title>
  <p>A J2SE v1.3 SDK (eg from <link href="http://java.sun.com/j2se">Java J2SE site</link>) and the Apache Jakarta Ant tool to build wsif. 
  Ant is available at the <link href="http://jakarta.apache.org/ant">Apache ANT website</link>.
  To build WSIF the jars from the following packages are required:</p>
  <table> 
      <caption>Prerequisite jars</caption>
      <tr>
          <th>Description</th>
          <th>Jar names</th>
      </tr>
  	<tr>
  			<td>JAXP compliant XML parser, such as <link href="http://xml.apache.org/xerces2-j/index.html">Apache Xerces</link>.</td>
  			<td>xercesImpl.jar xmlParserAPIs.jar</td>
  		</tr>
  	<tr>
  			<td>WSDL for Java API (WSDL4J), from the <link href="http://www-124.ibm.com/developerworks/projects/wsdl4j/">IBM developerWorks site</link>.</td>
  			<td>wsdl4j.jar qname.jar</td>
  		</tr>
  	<tr>
  			<td>Apache SOAP,  from  the <link href="http://xml.apache.org/soap">Apache SOAP site</link></td>
  			<td>soap.jar</td>
  		</tr>
  	<tr>
  			<td>Apache Axis,  from  the <link href="http://xml.apache.org/axis">Apache Axis site</link></td>
  			<td>axis.jar saaj.jar jaxrpc.jar commons-logging.jar</td>
  		</tr>
  	<tr>
  			<td>J2EE  1.3 from the <link href="http://java.sun.com/j2ee/">Java J2EE site</link></td>
  			<td>j2ee.jar</td>
  		</tr>
  </table>
  <p>Currently, in order to successfully build WSIF, all the above prerequisites 
  are required no matter which providers are going to be used.</p>
             </section>
  <section><title>Accessing Builds and Source Code</title>
  <p>The source code for this package is available on the Apache web site. Individual 
  files can be accessed using the web-based 
  <link href="http://cvs.apache.org/viewcvs.cgi/xml-axis-wsif/">CVS interface</link>. 
  The entire package can be downloaded using the following instructions.</p>
  </section>
  
  <section><title>Accessing the Nightly Builds</title>
  <p>This package is built nightly along with Axis. The build will create two
  zip files: wsif-bin-1.2.zip and xml-axis.wsif-src.zip. The first file contains a
  complete build image, which includes wsif.jar and the API Javadoc. The second file contains  a copy of the source code, which could
  be built using Ant. Both of these files can be accessed at the same location
  as the <fork href="http://cvs.apache.org/dist/axis/nightly/">Axis nightly builds</fork>.</p>
  </section>
  
  <section><title>Accessing the Source Tree (AnonCVS)</title>
  <p>So, you've decided that you need access to the source tree to see the latest
  and greatest code. There's two different forms of CVS access. The first
  is anonymous and anybody can use it. The second is not and you must have
  a login to the development server. If you don't know what this means, join
  the <link href="http://xml.apache.org/axis/mail.html">mailing list</link> and find out.</p>
  
  <p>Anyone can checkout source code from our anonymous CVS server. To do so, 
  simply use the following commands (if you are using a GUI CVS client, configure 
  it appropriatly): 
  </p>
  </section>
          </body>
      </document>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/content/xdocs/tabs.xml
  
  Index: tabs.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE tabs PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.0//EN" "tab-cocoon-v10.dtd">
  
        <tabs software="WSIF"
          title="WSIF"
          copyright="Foo"
          xmlns:xlink="http://www.w3.org/1999/xlink">
  
          <tab label="Home" dir=""/>
          <tab label="Samples" dir="wsif-samples"/>
          <!-- Add new tabs here, eg:
          <tab label="How-Tos" dir="community/howto/"/>
          <tab label="XML Site" dir="xml-site/"/>
          -->
  
      </tabs>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/xslt/html/pathutils.xsl
  
  Index: pathutils.xsl
  ===================================================================
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <!--
  PathUtils.xsl
  
  A set of XSLT templates useful for parsing URI paths:
  
  dirname: return the directory part of a path
  filename: return the file part of a path
  ext: return the last extension of the filename in a path
  filename-noext: return the file part of a path without its last extension
  
  @author Jeff Turner <jefft@apache.org>
  $Id: pathutils.xsl,v 1.2.2.1 2002/11/22 12:50:56 jefft Exp $
  -->
  
  <!-- Returns the directory part of a path.  Equivalent to Unix 'dirname'.
  Examples:
  '' -> ''
  'foo/index.html' -> 'foo/'
  -->
  <xsl:template name="dirname">
    <xsl:param name="path" />
    <xsl:if test="contains($path, '/')">
      <xsl:value-of select="concat(substring-before($path, '/'), '/')" />
      <xsl:call-template name="dirname">
        <xsl:with-param name="path"
          select="substring-after($path, '/')" />
      </xsl:call-template>
    </xsl:if>
  </xsl:template>
  
  
  <!-- Returns the filename part of a path.  Equivalent to Unix 'basename'
  Examples:
  'index.html'  ->  'index.html' 
  'foo/bar/'  ->  '' 
  'foo/bar/index.html'  ->  'index.html' 
  -->
  <xsl:template name="filename">
    <xsl:param name="path"/>
    <xsl:choose>
      <xsl:when test="contains($path, '/')">
        <xsl:call-template name="filename">
          <xsl:with-param name="path" select="substring-after($path, '/')"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$path"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
  
  <!-- Returns the last extension of a filename in a path.
  Examples:
  'index.html'  ->  '.html' 
  'index.dtdx.html'  ->  '.html' 
  'foo/bar/'  ->  '' 
  'foo/bar/index.html'  ->  '.html' 
  'foo/bar/index'  ->  '' 
  -->
  <xsl:template name="ext">
    <xsl:param name="path"/>
    <xsl:param name="subflag"/> <!-- Outermost call? -->
    <xsl:choose>
      <xsl:when test="contains($path, '.')">
        <xsl:call-template name="ext">
          <xsl:with-param name="path" select="substring-after($path, '.')"/>
          <xsl:with-param name="subflag" select="'sub'"/>
        </xsl:call-template>
      </xsl:when>
      <!-- Handle extension-less filenames by returning '' -->
      <xsl:when test="not($subflag) and not(contains($path, '.'))">
        <xsl:text/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="concat('.', $path)"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
  
  <!-- Returns a filename of a path stripped of its last extension.
  Examples:
  'foo/bar/index.dtdx.html' -> 'index.dtdx'
  -->
  <xsl:template name="filename-noext">
    <xsl:param name="path"/>
    <xsl:variable name="filename">
      <xsl:call-template name="filename">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:variable>
    <xsl:variable name="ext">
      <xsl:call-template name="ext">
        <xsl:with-param name="path" select="$filename"/>
      </xsl:call-template>
    </xsl:variable>
    <xsl:value-of select="substring($filename, 1, string-length($filename) - string-length($ext))"/>
  </xsl:template>
  
  <!-- Returns a path with the filename stripped of its last extension.
  Examples:
  'foo/bar/index.dtdx.html' -> 'foo/bar/index.dtdx'
  -->
  <xsl:template name="path-noext">
    <xsl:param name="path"/>
    <xsl:variable name="ext">
      <xsl:call-template name="ext">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:variable>
    <xsl:value-of select="substring($path, 1, string-length($path) - string-length($ext))"/>
  </xsl:template>
  
  <!--
  Uncomment this to test.
  Usage: saxon pathutils.xsl pathutils.xsl path=foo/bar
  
  <xsl:param name="path" select="'/foo/bar/index.html'"/>
  <xsl:template match="/">
    <xsl:message>
      path= <xsl:value-of select="$path"/>
      dirname= <xsl:call-template name="dirname">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
      filename= <xsl:call-template name="filename">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
      ext= <xsl:call-template name="ext">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
      filename-noext= <xsl:call-template name="filename-noext">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
      path-noext= <xsl:call-template name="path-noext">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:message>
  </xsl:template>
  -->
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/xslt/html/split.xsl
  
  Index: split.xsl
  ===================================================================
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <!--
   This stylesheet was taken from the XSLT FAQ http://www.dpawson.co.uk/xsl/
   
   Comments and adaption to be used without normalize-space()
    by Nicola Ken Barozzi nicolaken@apache.org
  --> 
  
  <!--
    Input:
  
  <doc>
  
  <para>
   123456 2345 343434 545454 43434 343 
   12345 343434 545454 43434 343 
   32345645 343434 545454 43434 343 
   3422222225 343434 545454 43434 343 
   llllllllllllllllllllllooooooooooooooonnnnnnnnnnnggggggggg
   345 343434 545454 43434 343 
  </para>
  
  </doc>
  
  Output:
  
  <HTML>
  <BODY>
  <PRE>123456 2345 343434 545454 
  43434 343 12345 343434 545454 
  43434 343 32345645 343434 
  545454 43434 343 3422222225 
  343434 545454 43434 343 
  lllllllllllllllllllllloooooooo
  ooooooonnnnnnnnnnnggggggggg 
  345 343434 545454 43434 
  343
  </PRE>
  </BODY>
  </HTML>
  
  Fragment ised: 
  
   <xsl:template match="/doc">
   <HTML><BODY><PRE>
      <xsl:call-template name="format">
      <xsl:with-param select="normalize-space(para)" name="txt" /> 
       <xsl:with-param name="width">30</xsl:with-param> 
       </xsl:call-template>
    </PRE></BODY></HTML>
    </xsl:template>
  
  
  -->
  
   <xsl:template match="/body">
     <body>
      <xsl:call-template name="format">
      <xsl:with-param select="source" name="txt" /> 
       <xsl:with-param name="width">40</xsl:with-param> 
       </xsl:call-template>
    </body>
    </xsl:template>
    
    <xsl:template name="format">
      <xsl:param name="txt" /> 
      <xsl:param name="width" /> 
  
      <!-- if there is still text left -->
      <xsl:if test="$txt">
      
      <xsl:variable name = "pretxt" select = "substring($txt,0, $width)" />
      
      <xsl:choose>
        <xsl:when test="contains($pretxt, '&#xA;')">
          <xsl:value-of select="substring-before($pretxt, '&#xA;')"/>
          <xsl:text>&#xA;</xsl:text> 
          <xsl:call-template name="format">
            <xsl:with-param name="txt" select="substring-after($txt,'&#xA;')"/>
            <xsl:with-param select="$width" name="width" />           
          </xsl:call-template>
        </xsl:when>
        
        <xsl:otherwise>
        <!-- get the width at which to break-->
        <xsl:variable name="real-width">
          <xsl:call-template name="tune-width">
            <xsl:with-param select="$txt" name="txt" /> 
            <xsl:with-param select="$width" name="width" /> 
            <xsl:with-param select="$width" name="def" /> 
          </xsl:call-template>
        </xsl:variable>
  
        <!-- output the first part of the broken string -->
        <xsl:value-of select="substring($txt, 1, $real-width)" /> 
  
        <!-- output a newline -->
        <xsl:text>&#xA;</xsl:text> 
  
        <!-- call itself with the remaining part of the text -->
        <xsl:call-template name="format">
         <xsl:with-param select="substring($txt,$real-width + 1)" name="txt" /> 
         <xsl:with-param select="$width" name="width" /> 
        </xsl:call-template>
        </xsl:otherwise>
        </xsl:choose>
      </xsl:if>
    </xsl:template>
    
     
    <!-- used by template "format", it calculates the width at the given def 
         
         It starts at def length and comes back till it finds a space -->
    <xsl:template name="tune-width">
      <xsl:param name="txt" /> 
      <xsl:param name="width" /> 
      <xsl:param name="def" /> 
  
      <xsl:choose>
        <xsl:when test="$width = 0">
         <xsl:value-of select="$def" /> 
        </xsl:when>
                   
        <xsl:when test="substring($txt, $width, 1 ) = ' '">
            <xsl:value-of select="$width" /> 
         </xsl:when>
         
         <xsl:otherwise>
           <!-- otherwise need to tune again, trying with $width - 1 -->
           <xsl:call-template name="tune-width">
             <xsl:with-param select="$width - 1" name="width" /> 
             <xsl:with-param select="$txt" name="txt" /> 
             <xsl:with-param select="$def" name="def" /> 
           </xsl:call-template>
         </xsl:otherwise>
       </xsl:choose>
  
    </xsl:template>
  
    </xsl:stylesheet>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/xslt/html/dotdots.xsl
  
  Index: dotdots.xsl
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  
  <!--
  Contains the 'dotdots' template, which, given a path, will output a set of
  directory traversals to get back to the source directory. Handles both '/' and
  '\' directory separators.
  
  Examples:
    Input                           Output 
      index.html                    ""
      dir/index.html                "../"
      dir/subdir/index.html         "../../"
      dir//index.html              "../"
      dir/                          "../"
      dir//                         "../"
      \some\windows\path            "../../"
      \some\windows\path\           "../../../"
      \Program Files\mydir          "../"
  
  Cannot handle ..'s in the path, so don't expect 'dir/subdir/../index.html' to
  work.
  
  jefft@apache.org
  -->
  
  <xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
    <xsl:template name="dotdots">
      <xsl:param name="path"/>
      <xsl:variable name="dirs" select="normalize-space(translate(concat($path, 'x'), ' /\', '_  '))"/>
      <!-- The above does the following:
         o Adds a trailing character to the path. This prevents us having to deal
           with the special case of ending with '/'
         o Translates all directory separators to ' ', and normalize spaces,
  		 cunningly eliminating duplicate '//'s. We also translate any real
  		 spaces into _ to preserve them.
      -->
      <xsl:variable name="remainder" select="substring-after($dirs, ' ')"/>
      <xsl:if test="$remainder">
        <xsl:text>../</xsl:text>
        <xsl:call-template name="dotdots">
          <xsl:with-param name="path" select="translate($remainder, ' ', '/')"/>
  		<!-- Translate back to /'s because that's what the template expects. -->
        </xsl:call-template>
      </xsl:if>
    </xsl:template>
  
  <!--
    Uncomment to test.
    Usage: saxon dotdots.xsl dotdots.xsl path='/my/test/path'
  
    <xsl:param name="path"/>
    <xsl:template match="/">
      <xsl:message>Path: <xsl:value-of select="$path"/></xsl:message>
      <xsl:call-template name="dotdots">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:template>
   -->
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/xslt/html/site2xhtml.xsl
  
  Index: site2xhtml.xsl
  ===================================================================
  <?xml version="1.0"?>
  <!--
  site2xhtml.xsl is the final stage in HTML page production.  It merges HTML from
  document2html.xsl, tab2menu.xsl and book2menu.xsl, and adds the site header,
  footer, searchbar, css etc.  As input, it takes XML of the form:
  
  <site>
    <div class="menu">
      ...
    </div>
    <div class="tab">
      ...
    </div>
    <div class="content">
      ...
    </div>
  </site>
  
  $Id: site2xhtml.xsl,v 1.12 2002/11/05 21:33:13 nicolaken Exp $
  -->
  
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <!-- Default skinconf.xml in the skins/ directory -->
    <xsl:param name="config-file" select="'../../../../skinconf.xml'"/>
    <xsl:variable name="config" select="document($config-file)/skinconfig"/>
    <xsl:param name="path"/>
    <xsl:include href="dotdots.xsl"/>
    <xsl:include href="pathutils.xsl"/>
  
    <xsl:variable name="root">
      <xsl:call-template name="dotdots">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:variable>
   
    <xsl:variable name="filename">
      <xsl:call-template name="filename">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:variable>
    
    <xsl:variable name="skin-img-dir" select="concat(string($root), 'skin/images')"/>
    <xsl:variable name="spacer" select="concat($root, 'skin/images/spacer.gif')"/>
   
    <xsl:template match="site">
      <html>
        <head>
          <title><xsl:value-of select="div[@class='content']/table/tr/td/h1"/></title>
          <link rel="stylesheet" href="{$root}skin/page.css" type="text/css"/>
        </head>
        <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
        <!-- =========================== top line with navigation path ========================== -->
      <table cellspacing="0" cellpadding="0" border="0" width="100%" summary="navigation path">
        <tr>
          <td height="20" bgcolor="#CFDCED" valign="middle" nowrap="nowrap">
            <img src="{$spacer}" border="0" alt="" width="5" height="1" />
            <!-- breadcrumb trail (javascript-generated) -->
            <font face="Arial, Helvetica, Sans-serif" size="2">
                <script type="text/javascript" language="JavaScript" src="{$root}skin/breadcrumbs.js"></script>
            </font>
          </td>
        </tr>
        <tr>
          <td height="2" bgcolor="#4C6C8F"><img src="{$spacer}" border="0" alt="" width="2" height="2" /></td>
        </tr>
      </table>
      <!-- ================================= top bar with logo's and search box ===================================  -->
          <table cellspacing="0" cellpadding="0" border="0" width="100%" summary="header with logos">
        <tr>
          <td bgcolor="#294563">
          <xsl:if test="$config/group-url"><a href="{$config/group-url}"><img src="{$root}{$config/group-logo}" alt="{$config/group-name} logo" border="0"/></a></xsl:if></td>
          <td bgcolor="#294563" align="center" width="100%"><a href="{$config/project-url}"><img src="{$root}{$config/project-logo}" border="0" alt="{$config/project-name} site" /></a></td>
          <td bgcolor="#294563" rowspan="2" valign="top">
            <xsl:if test="not($config/disable-search) or $config/disable-search='false' and $config/searchsite-domain and $config/searchsite-name">
            <form method="get" action="http://www.google.com/search" onsubmit="q.value = query.value + ' site:{$config/searchsite-domain}'" target="_blank">
              <table bgcolor="#4C6C8F" cellpadding="0" cellspacing="0" border="0" summary="search">
                <tr>
                  <td colspan="3"><img src="{$spacer}" alt="" width="1" height="10" /></td>
                </tr>
                <tr>
                  <td><img src="{$spacer}" alt="" width="1" height="1" /></td>
                  <td nowrap="nowrap">
                    <input type="hidden" name="q"/>
                    <input type="text" id="query" size="15"/><img src="{$spacer}" alt="" width="5" height="1" /><input type="submit" value="Search" name="Search"/>
                    <br />
                    <font color="white" size="2" face="Arial, Helvetica, Sans-serif">
                    the <xsl:value-of select="$config/searchsite-name"/> site
  <!-- setting search options off for the moment -->
  <!--
                      <input type="radio" name="web" value="web"/>web site&#160;&#160;<input type="radio" name="mail" value="mail"/>mail lists
  -->
                    </font>
                  </td>
                  <td><img src="{$spacer}" alt="" width="1" height="1" /></td>
                </tr>
                <tr>
                  <td><img src="{$skin-img-dir}/search-left.gif" width="9" height="10" border="0" alt="" /></td>
                  <td><img src="{$spacer}" alt="" width="1" height="1" /></td>
                  <td><img src="{$skin-img-dir}/search-right.gif" width="9" height="10" border="0" alt="" /></td>
                </tr>
              </table>
            </form>
            </xsl:if>
          </td>
          <td bgcolor="#294563"><img src="{$spacer}" alt="" width="10" height="10" /></td>
        </tr>
        <tr>
          <td colspan="2" bgcolor="#294563" valign="bottom">
              <xsl:apply-templates select="div[@class='tab']"/>
          </td>
          <td bgcolor="#294563"><img src="{$spacer}" height="1" width="1" alt="" /></td>
        </tr>
        <tr>
          <td colspan="4" bgcolor="#4C6C8F"><img src="{$spacer}" alt="" height="10" width="1" /></td>
        </tr>
      </table>
      <!-- ======================================  Menu and Content table ====================================== -->
      <table cellspacing="0" cellpadding="0" border="0" width="100%" bgcolor="#ffffff" summary="page content">
        <tr>
          <td valign="top">
            <table cellpadding="0" cellspacing="0" border="0" summary="menu">
              <tr>
                <td valign="top" rowspan="3">
                  <table cellspacing="0" cellpadding="0" border="0" summary="blue line">
                    <tr><td bgcolor="#294563"><img src="{$spacer}" alt="" height="1" width="10" /></td></tr>
                    <tr><td bgcolor="#CFDCED"><font face="Arial, Helvetica, Sans-serif" size="4" color="#4C6C8F">&#160;</font></td></tr>
                    <tr><td bgcolor="#294563"><img src="{$spacer}" alt="" height="1" width="10" /></td></tr>
                  </table>
                </td>
                <td bgcolor="#294563"><img src="{$spacer}" alt="" height="1" width="1" /></td>
                <td bgcolor="#4C6C8F" valign="bottom"><img src="{$spacer}" alt="" height="10" width="10" /></td>
                <td bgcolor="#4C6C8F" valign="top" nowrap="nowrap">
                    <xsl:apply-templates select="div[@class='menu']"/>
                </td>
                <td bgcolor="#4C6C8F" valign="bottom"><img src="{$spacer}" alt="" height="10" width="10" /></td>
                <td bgcolor="#294563"><img src="{$spacer}" alt="" height="1" width="1" /></td>
              </tr>
              <tr>
                <td bgcolor="#4C6C8F" rowspan="2" colspan="2" align="left" valign="bottom"><img src="{$skin-img-dir}/menu-left.gif" alt="" border="0" width="10" height="10" /></td>
                <td bgcolor="#4C6C8F"><img src="{$spacer}" alt="" border="0" width="10" height="10" /></td>
                <td bgcolor="#4C6C8F" rowspan="2" colspan="2" align="right" valign="bottom"><img src="{$skin-img-dir}/menu-right.gif" alt="" border="0" width="10" height="10" /></td>
              </tr>
              <tr>
                <td bgcolor="#294563" height="1"><img src="{$spacer}" alt="" height="1" width="1" /></td>
              </tr>
            </table>
          </td>
          <td width="100%" valign="top">
            <table cellspacing="0" cellpadding="0" border="0" width="100%" summary="content">
              <tr><td bgcolor="#294563" colspan="4"><img src="{$spacer}" alt="" height="1" width="10" /></td></tr>
              <tr>
                <td bgcolor="#CFDCED" width="10" align="left"><img src="{$spacer}" alt="" height="1" width="10" /></td>
                <td bgcolor="#CFDCED" width="50%" align="left">
  <!-- ========================================= Page number ===================================== -->
                  <font face="Arial, Helvetica, Sans-serif" size="3" color="#4C6C8F">
                  &#160;
  <!--
                    <b>Page 1 of 5</b>
  -->
                  </font>
                    <img src="{$spacer}" alt="" height="8" width="10" />
                </td>
                <td bgcolor="#CFDCED" width="50%" align="right">
  <!--  ====================================== page navigation ===================================== -->
                  <font face="Arial, Helvetica, Sans-serif" size="3" color="#4C6C8F">
                  &#160;
  <!--
                    <b>&#171; prev&#160;&#160;<font size="4">[3]</font>&#160;&#160;next &#187;</b>
  -->
                  </font>
                    <img src="{$spacer}" alt="" height="8" width="10" />
                </td>
                <td bgcolor="#CFDCED" width="10"><img src="{$spacer}" alt="" height="1" width="10" /></td>
              </tr>
              <tr><td bgcolor="#294563" colspan="4"><img src="{$spacer}" alt="" height="1" width="10" /></td></tr>
              <tr>
                <td width="10" align="left"><img src="{$spacer}" alt="" height="1" width="10" /></td>
                <td width="100%" align="left">
                  <xsl:apply-templates select="div[@class='content']"/>
                </td>
                <td width="10"><img src="{$spacer}" alt="" height="1" width="10" /></td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
  <!-- footer -->
      <table border="0" height="20" width="100%" cellpadding="0" cellspacing="0" summary="footer">
        <tr><td bgcolor="#4C6C8F" height="1" colspan="2"><img src="{$spacer}" alt="" width="1" height="1" /><a href="{$skin-img-dir}/label.gif"></a><a href="{$skin-img-dir}/page.gif"></a><a href="{$skin-img-dir}/chapter.gif"></a><a href="{$skin-img-dir}/chapter_open.gif"></a><a href="{$skin-img-dir}/current.gif"></a><a href="/favicon.ico"></a></td></tr>
        <tr>
          <td align="center" class="copyright" bgcolor="#CFDCED" colspan="2">
            <font face="Arial, Helvetica, Sans-Serif" size="2">Copyright &#169;
            <xsl:value-of select="$config/year"/>&#160;<xsl:value-of
            select="$config/vendor"/> All rights reserved.<script language="JavaScript" type="text/javascript"><![CDATA[<!--
                document.write(" - "+"Last Published: " + document.lastModified);
              //  -->]]></script></font>
          </td>
        </tr>
        <tr>
        <td class="logos" bgcolor="#CFDCED" align="left">
          <xsl:if test="$config/host-logo and not($config/host-logo = '')">
              <a href="{$config/host-url}"><img src="{$config/host-logo}" alt="{$config/host-name} logo" border="0"/></a>
          </xsl:if>
        </td>
        <td class="logos" bgcolor="#CFDCED" align="right">
          <xsl:if test="$filename = 'index.html' and $config/credits">
            <div align="right">
            <xsl:for-each select="$config/credits/credit">
              <xsl:variable name="name" select="name"/>
              <xsl:variable name="url" select="url"/>
              <xsl:variable name="image" select="image"/>
              <xsl:variable name="width" select="width"/>
              <xsl:variable name="height" select="height"/>
              <a href="{$url}" valign="top">
              <img alt="{$name} logo" border="0">
                <xsl:attribute name="src">
                  <xsl:if test="not(starts-with($image, 'http://'))"><xsl:value-of select="$root"/></xsl:if>
                  <xsl:value-of select="$image"/>
                </xsl:attribute>
                <xsl:if test="$width"><xsl:attribute name="width"><xsl:value-of select="$width"/></xsl:attribute></xsl:if>
                <xsl:if test="$height"><xsl:attribute name="height"><xsl:value-of select="$height"/></xsl:attribute></xsl:if>
              </img>
              <img src="{$spacer}" border="0" alt="" width="5" height="1" />
              </a>
            </xsl:for-each>
              </div>
          </xsl:if>
          </td>
        </tr>
      </table>
        </body>
      </html>
      </xsl:template>
      <xsl:template match="node()|@*" priority="-1">
        <xsl:copy>
          <xsl:apply-templates select="@*"/>
          <xsl:apply-templates/>
        </xsl:copy>
    </xsl:template>
  </xsl:stylesheet>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/xslt/html/book2menu.xsl
  
  Index: book2menu.xsl
  ===================================================================
  <?xml version="1.0"?>
  <!--
  book2menu.xsl generates the HTML menu. It outputs XML/HTML of the form:
    <div class="menu">
       ...
    </div>
  which is then merged with other HTML by site2xhtml.xsl
  
  $Id: book2menu.xsl,v 1.6.2.1 2002/11/22 12:50:56 jefft Exp $
  -->
  
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:param name="path"/>
  
    <xsl:include href="pathutils.xsl"/>
  
    <xsl:variable name="filename-noext">
      <xsl:call-template name="filename-noext">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:variable>
  
    <xsl:variable name="path-noext">
      <xsl:call-template name="path-noext">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:variable>
  
  
    <xsl:template match="book">
      <div class="menu">
        <ul>
          <xsl:apply-templates select="menu"/>
        </ul>
      </div>
    </xsl:template>
  
    <xsl:template match="menu">
      <li>
        <font color="#CFDCED"><xsl:value-of select="@label"/></font>
        <ul>
          <xsl:apply-templates/>
        </ul>
      </li>
    </xsl:template>
  
    <xsl:template match="menu-item">
      <li>
        <xsl:variable name="href-noext">
          <xsl:call-template name="path-noext">
            <xsl:with-param name="path" select="@href"/>
          </xsl:call-template>
        </xsl:variable>
  
        <xsl:choose>
          <xsl:when test="$href-noext = $path-noext">
            <span class="sel"><font color="#ffcc00"><xsl:value-of select="@label"/></font></span>
          </xsl:when>
          <xsl:otherwise>
            <a href="{@href}"><xsl:value-of select="@label"/></a>
          </xsl:otherwise>
        </xsl:choose>
      </li>
    </xsl:template>
    <xsl:template match="external">
      <li>
         <xsl:choose>
           <xsl:when test="starts-with(@href, $filename-noext)">
            <font color="#ffcc00"><xsl:value-of select="@label"/></font>
          </xsl:when>
          <xsl:otherwise>
            <a href="{@href}" target="_blank"><xsl:value-of select="@label"/></a>
          </xsl:otherwise>
        </xsl:choose>
      </li>
    </xsl:template>
    <xsl:template match="menu-item[@type='hidden']"/>
    <xsl:template match="external[@type='hidden']"/>
  </xsl:stylesheet>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/xslt/html/tab2menu.xsl
  
  Index: tab2menu.xsl
  ===================================================================
  <?xml version="1.0"?>
  <!--
  This stylesheet generates 'tabs' at the top left of the Forrest skin.  Tabs are
  visual indicators that a certain subsection of the URI space is being browsed.
  For example, if we had tabs with paths:
  
  Tab1:  ''
  Tab2:  'community'
  Tab3:  'community/howto'
  Tab4:  'community/howto/xmlform/index.html'
  
  Then if the current path was 'community/howto/foo', Tab3 would be highlighted.
  The rule is: the tab with the longest path that forms a prefix of the current
  path is enabled.
  
  The output of this stylesheet is HTML of the form:
      <div class="tab">
        ...
      </div>
  
  which is then merged by site2xhtml.xsl
  
  $Id: tab2menu.xsl,v 1.6 2002/11/09 11:37:44 jefft Exp $
  -->
  
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:param name="path"/>
    <xsl:param name="dir_index" select="'index.html'"/>
    <xsl:include href="dotdots.xsl"/>
    <xsl:include href="pathutils.xsl"/>
  
    <!-- NOTE: Xalan has a bug (race condition?) where sometimes $root is only half-evaluated -->
    <xsl:variable name="root">
      <xsl:call-template name="dotdots">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:variable>
  
    <xsl:variable name="skin-img-dir" select="concat(string($root), 'skin/images')"/>
  
    <xsl:template name="spacer">
      <td width="8">
        <img src="{$root}skin/images/spacer.gif" width="8" height="8" alt=""/>
      </td>
    </xsl:template>
  
    <!--
      The longest path of any tab, whose path is a subset of the current URL.  Ie,
      the path of the 'current' tab.
    -->
    <xsl:variable name="longest-dir">
      <xsl:for-each select="/tabs/tab[starts-with($path, @dir|@href)]">
        <xsl:sort select="string-length(@dir|@href)"
                  data-type="number" order="descending"/>
        <xsl:if test="position()=1">
          <xsl:value-of select="@dir|@href"/>
        </xsl:if>
      </xsl:for-each>
    </xsl:variable>
  
  
    <xsl:template match="tabs">
      <div class="tab">
        <table cellspacing="0" cellpadding="0" border="0" summary="tab bar">
          <tr>
            <xsl:apply-templates/>
          </tr>
        </table>
      </div>
    </xsl:template>
  
    <xsl:template match="tab">
      <xsl:call-template name="spacer"/>
      <xsl:choose>
        <xsl:when test="@dir = $longest-dir or @href = $longest-dir">
          <xsl:call-template name="selected"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:call-template name="not-selected"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:template>
  
    <xsl:template name="not-selected">
      <td valign="bottom">
        <table cellspacing="0" cellpadding="0" border="0" height="25" summary="non selected tab">
          <tr>
            <td bgcolor="#B2C4E0" width="5" valign="top"><img src="{$skin-img-dir}/tab-left.gif" alt="" width="5" height="5" /></td>
            <td bgcolor="#B2C4E0" valign="middle">
              <a>
                <xsl:attribute name="href">
                  <xsl:if test="starts-with(@href, 'http')">  <!-- Absolute URL -->
                    <xsl:value-of select="@href"/>
                  </xsl:if>
                  <xsl:if test="not(starts-with(@href, 'http'))">  <!-- Root-relative path -->
                    <xsl:variable name="backpath">
                      <xsl:call-template name="dotdots">
                        <xsl:with-param name="path" select="$path"/>
                      </xsl:call-template>
                      <xsl:text>/</xsl:text>
                      <xsl:value-of select="@dir|@href"/>
                      <!-- If we obviously have a directory, add /index.html -->
                      <xsl:if test="@dir or substring(@href, string-length(@href),
                        string-length(@href)) = '/'">
                        <xsl:text>/</xsl:text>
                        <xsl:value-of select="$dir_index"/>
                      </xsl:if>
                    </xsl:variable>
  
                    <xsl:value-of
                      select="translate(normalize-space(translate($backpath, ' /', '/ ')), ' /', '/ ')"/>
                    <!-- Link to backpath, normalizing slashes -->
                  </xsl:if>
                </xsl:attribute>
                <font face="Arial, Helvetica, Sans-serif" size="2"><xsl:value-of select="@label"/></font>
              </a>
            </td>
            <td bgcolor="#B2C4E0" width="5" valign="top"><img src="{$skin-img-dir}/tab-right.gif" alt="" width="5" height="5" />
            </td>
          </tr>
        </table>
      </td>
    </xsl:template>
  
    <xsl:template name="selected">
      <td valign="bottom">
        <table cellspacing="0" cellpadding="0" border="0" height="30" summary="selected tab">
          <tr>
            <td bgcolor="#4C6C8F" width="5" valign="top"><img src="{$skin-img-dir}/tabSel-left.gif" alt="" width="5" height="5" /></td>
            <td bgcolor="#4C6C8F" valign="middle">
              <font face="Arial, Helvetica, Sans-serif" size="2" color="#ffffff"><b><xsl:value-of select="@label"/></b></font>
            </td>
            <td bgcolor="#4C6C8F" width="5" valign="top"><img src="{$skin-img-dir}/tabSel-right.gif" alt="" width="5" height="5" /></td>
          </tr>
        </table>
      </td>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/xslt/html/document2html.xsl
  
  Index: document2html.xsl
  ===================================================================
  <?xml version="1.0"?>
  <!--
  This stylesheet contains the majority of templates for converting documentv11
  to HTML.  It renders XML as HTML in this form:
  
    <div class="content">
     ...
    </div>
  
  ..which site2xhtml.xsl then combines with HTML from the index (book2menu.xsl)
  and tabs (tab2menu.xsl) to generate the final HTML.
  
  $Id: document2html.xsl,v 1.12 2002/11/09 11:37:44 jefft Exp $
  -->
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
    <!-- If non-blank, a PDF link for this page will not be generated -->
    <xsl:param name="nopdf"/>
    <xsl:param name="isfaq"/>
    <xsl:param name="path"/>
  
    <xsl:include href="split.xsl"/>
    <xsl:include href="dotdots.xsl"/>
    <xsl:include href="pathutils.xsl"/>
  
    <!-- Path to site root, eg '../../' -->
    <xsl:variable name="root">
      <xsl:call-template name="dotdots">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:variable>
  
    <xsl:variable name="filename-noext">
      <xsl:call-template name="filename-noext">
        <xsl:with-param name="path" select="$path"/>
      </xsl:call-template>
    </xsl:variable>
   
    <xsl:variable name="skin-img-dir" select="concat(string($root), 'skin/images')"/>
  
    <xsl:template match="document">
    <!--
      <xsl:message>
       ##  path = <xsl:value-of select="$path"/>
       ##  root = <xsl:value-of select="$root"/>
       ##  nopdf = '<xsl:value-of select="$nopdf"/>'
      </xsl:message>
    -->
      <div class="content">
        <xsl:if test="normalize-space(header/title)!=''">
          <table class="title">
            <tr> 
              <td valign="middle"> 
                <h1>
                  <xsl:value-of select="header/title"/>
                </h1>
              </td>
              <!--td align="center" width="80" nowrap><a href="" class="dida"><img src="images/singlepage.gif"><br>
                single page<br>
                version</a></td-->
              <xsl:if test="$nopdf = ''"> <!-- nopdf flag unset -->
                <td align="center" width="80" nowrap="nowrap"><a href="{$filename-noext}.pdf" class="dida">
                <img border="0" src="{$skin-img-dir}/printer.gif"/><br/>
                  print-friendly<br/>
                  version</a>
                </td>
              </xsl:if>
            </tr>
          </table>
        </xsl:if>
        <xsl:if test="normalize-space(header/subtitle)!=''">
          <h3>
            <xsl:value-of select="header/subtitle"/>
          </h3>
        </xsl:if>
        <xsl:if test="header/authors">
          <p>
            <font size="-2">
              <xsl:for-each select="header/authors/person">
                <xsl:choose>
                  <xsl:when test="position()=1">by&#160;</xsl:when>
                  <xsl:otherwise>,&#160;</xsl:otherwise>
                </xsl:choose>
                <xsl:value-of select="@name"/>
              </xsl:for-each>
            </font>
          </p>
        </xsl:if>
        <xsl:apply-templates select="body"/>
      </div>
    </xsl:template>
  
    <xsl:template match="body">
      <xsl:if test="section and not($isfaq='true')">
        <ul class="minitoc">
          <xsl:for-each select="section">
            <li>
              <a href="#{generate-id()}">
                <xsl:value-of select="title"/>
              </a>
              <xsl:if test="section">
                <ul class="minitoc">
                  <xsl:for-each select="section">
                    <li>
                      <a href="#{generate-id()}">
                        <xsl:value-of select="title"/>
                      </a>
                    </li>
                  </xsl:for-each>
                </ul>
              </xsl:if>
            </li>
          </xsl:for-each>
        </ul>
      </xsl:if>
      <xsl:apply-templates/>
    </xsl:template>
  
    <!--  section handling
    - <a name/> anchors are added if the id attribute is specified
    - generated anchors are still included for TOC - what should we do about this?
    - FIXME: provide a generic facility to process section irrelevant to their
      nesting depth
  -->
  
    <xsl:template match="@id">
      <xsl:if test="normalize-space(.)!=''">
        <a>
          <xsl:attribute name="name">
            <xsl:value-of select="."/>
          </xsl:attribute>
        </a>
      </xsl:if>
    </xsl:template>
  
    <xsl:template match="section">
      <a name="{generate-id()}"/>
      <xsl:apply-templates select="@id"/>
      <h3>
        <xsl:value-of select="title"/>
      </h3>
      <xsl:apply-templates select="*[not(self::title)]"/>
    </xsl:template>
  
    <xsl:template match="section/section">
      <a name="{generate-id()}"/>
      <xsl:apply-templates select="@id"/>
      <h4>
        <xsl:value-of select="title"/>
      </h4>
      <xsl:apply-templates select="*[not(self::title)]"/>
    </xsl:template>
  
    <xsl:template match="note | warning | fixme">
      <xsl:apply-templates select="@id"/>
      <div class="frame {local-name()}">
        <div class="label">
          <xsl:choose>
            <xsl:when test="local-name() = 'note'">Note</xsl:when>
            <xsl:when test="local-name() = 'warning'">Warning</xsl:when>
            <xsl:otherwise>Fixme (
                 <xsl:value-of select="@author"/>
  
                 )</xsl:otherwise>
          </xsl:choose>
        </div>
        <div class="content">
          <xsl:apply-templates/>
        </div>
      </div>
    </xsl:template>
  
    <xsl:template match="link">
      <xsl:apply-templates select="@id"/>
      <a href="{@href}">
        <xsl:apply-templates/>
      </a>
    </xsl:template>
  
    <xsl:template match="jump">
      <xsl:apply-templates select="@id"/>
      <a href="{@href}" target="_top">
        <xsl:apply-templates/>
      </a>
    </xsl:template>
  
    <xsl:template match="fork">
      <xsl:apply-templates select="@id"/>
      <a href="{@href}" target="_blank">
        <xsl:apply-templates/>
      </a>
    </xsl:template>
  
    <xsl:template match="p[@xml:space='preserve']">
      <xsl:apply-templates select="@id"/>
      <div class="pre">
        <xsl:apply-templates/>
      </div>
    </xsl:template>
  
    <xsl:template match="source">
      <xsl:apply-templates select="@id"/>
      <pre class="code">
  <!-- Temporarily removed long-line-splitter ... gives out-of-memory problems -->
        <xsl:apply-templates/>
  <!--
      <xsl:call-template name="format">
      <xsl:with-param select="." name="txt" /> 
       <xsl:with-param name="width">80</xsl:with-param> 
       </xsl:call-template>
  -->
      </pre>
    </xsl:template>
  
    <xsl:template match="anchor">
      <a name="{@id}"/>
    </xsl:template>
  
    <xsl:template match="icon">
      <xsl:apply-templates select="@id"/>
      <img src="{@src}" alt="{@alt}">
        <xsl:if test="@height">
          <xsl:attribute name="height"><xsl:value-of select="@height"/></xsl:attribute>
        </xsl:if>
        <xsl:if test="@width">
          <xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
        </xsl:if>
      </img>
    </xsl:template>
  
    <xsl:template match="code">
      <xsl:apply-templates select="@id"/>
      <span class="codefrag"><xsl:value-of select="."/></span>
    </xsl:template>
  
    <xsl:template match="figure">
      <xsl:apply-templates select="@id"/>
      <div align="center">
        <img src="{@src}" alt="{@alt}" class="figure">
          <xsl:if test="@height">
            <xsl:attribute name="height"><xsl:value-of select="@height"/></xsl:attribute>
          </xsl:if>
          <xsl:if test="@width">
            <xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
          </xsl:if>
        </img>
      </div>
    </xsl:template>
  
    <xsl:template match="table">
      <xsl:apply-templates select="@id"/>
      <table cellpadding="4" cellspacing="1" class="ForrestTable">
        <xsl:if test="@cellspacing"><xsl:attribute name="cellspacing"><xsl:value-of select="@cellspacing"/></xsl:attribute></xsl:if>
        <xsl:if test="@cellpadding"><xsl:attribute name="cellpadding"><xsl:value-of select="@cellpadding"/></xsl:attribute></xsl:if>
        <xsl:if test="@border"><xsl:attribute name="border"><xsl:value-of select="@border"/></xsl:attribute></xsl:if>
        <xsl:if test="@class"><xsl:attribute name="class"><xsl:value-of select="@class"/></xsl:attribute></xsl:if>
        <xsl:if test="@bgcolor"><xsl:attribute name="bgcolor"><xsl:value-of select="@bgcolor"/></xsl:attribute></xsl:if>
        <xsl:apply-templates/>
      </table>
    </xsl:template>
  
    <xsl:template match="node()|@*" priority="-1">
      <xsl:copy>
        <xsl:apply-templates select="@*"/>
        <xsl:apply-templates/>
      </xsl:copy>
    </xsl:template>
  </xsl:stylesheet>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/content/xdocs/wsif-samples/book.xml
  
  Index: book.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" "book-cocoon-v10.dtd">
  
  <book software="WSIF"
    title="WSIF"
    copyright="@year@ The Apache Software Foundation"
    xmlns:xlink="http://www.w3.org/1999/xlink">
  
    <menu label="Samples">
      <menu-item label="About" href="index.html"/>    
    </menu>
  
    <menu label="Java">
      <menu-item label="Java Sample 1" href="javasample1.html"/>
    </menu>
  
    <menu label="SOAP">
      <menu-item label="SOAP Sample 1" href="soapsample1.html"/>
      <menu-item label="SOAP Sample 2" href="soapsample2.html"/>
    </menu>
    
    <menu label="EJB">
      <menu-item label="EJB Sample 1" href="ejbsample1.html"/>
    </menu>
  </book>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/content/xdocs/wsif-samples/index.xml
  
  Index: index.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
  <document> 
    <header> 
      <title>WSIF Samples</title> 
     </header> 
    <body>
        <section>
            <title>Samples</title>
        </section>
    </body> 
  </document>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/resources/schema/dtd/todo-v11.mod
  
  Index: todo-v11.mod
  ===================================================================
  <!-- ===================================================================
  
       Apache Todos module (Version 1.0)
  
  PURPOSE:
    This DTD was developed to create a simple yet powerful document
    type for software development todo lists for use with the Apache projects.
    It is an XML-compliant DTD and it's maintained by the Apache XML
    project.
  
  TYPICAL INVOCATION:
  
    <!ENTITY % todo PUBLIC
        "-//APACHE//ENTITIES Todo Vxy//EN"
        "todo-vxy.mod">
    %todo;
  
    where
  
      x := major version
      y := minor version
  
  NOTES:
    It is important, expecially in open developped software projects, to keep
    track of software changes that need to be done, planned features, development
    assignment, etc. in order to allow better work parallelization and create
    an entry point for people that want to help. This DTD wants to provide
    a solid foundation to provide such information and to allow it to be
    published as well as distributed in a common format.
  
  AUTHORS:
    Stefano Mazzocchi <stefano@apache.org>
  
  FIXME:
    - do we need anymore working contexts? (SM)
  
  CHANGE HISTORY:
  [Version 1.0]
    19991129 Initial version. (SM)
    19991225 Added actions element for better structure (SM)
  [Version 1.1]
    20011212 Used public identifiers for external entities (SM)
  
  COPYRIGHT:
    Copyright (c) 2002 The Apache Software Foundation.
  
    Permission to copy in any form is granted provided this notice is
    included in all copies. Permission to redistribute is granted
    provided this file is distributed untouched in all its parts and
    included files.
  
  ==================================================================== -->
  <!-- =============================================================== -->
  <!-- Common entities -->
  <!-- =============================================================== -->
  <!ENTITY % priorities "showstopper|high|medium|low|wish|dream">
  <!-- =============================================================== -->
  <!-- Document Type Definition -->
  <!-- =============================================================== -->
  <!ELEMENT todo (title?, devs?, actions+)>
  <!ATTLIST todo
    %common.att; 
  >
  
  <!ELEMENT actions (action+)>
  <!ATTLIST actions
    %common.att; 
    priority (%priorities;) #IMPLIED
  >
  <!-- =============================================================== -->
  <!-- End of DTD -->
  <!-- =============================================================== -->
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/resources/schema/dtd/todo-v11.dtd
  
  Index: todo-v11.dtd
  ===================================================================
  <!-- ===================================================================
  
       Apache Todos DTD (Version 1.1)
  
  PURPOSE:
    This DTD was developed to create a simple yet powerful document
    type for software development todo lists for use with the Apache projects.
    It is an XML-compliant DTD and it's maintained by the Apache XML
    project.
  
  TYPICAL INVOCATION:
  
    <!DOCTYPE todo PUBLIC
         "-//APACHE//DTD Todo Vx.y//EN"
         "todo-vxy.dtd">
  
    where
  
      x := major version
      y := minor version
  
  NOTES:
    It is important, expecially in open developped software projects, to keep
    track of software changes that need to be done, planned features, development
    assignment, etc. in order to allow better work parallelization and create
    an entry point for people that want to help. This DTD wants to provide
    a solid foundation to provide such information and to allow it to be
    published as well as distributed in a common format.
  
  AUTHORS:
    Stefano Mazzocchi <stefano@apache.org>
  
  FIXME:
    - do we need anymore working contexts? (SM)
  
  CHANGE HISTORY:
  [Version 1.0]
    19991129 Initial version. (SM)
    19991225 Added actions element for better structure (SM)
  [Version 1.1]
    20011212 Used public identifiers for external entities (SM)
    20020613 Include the module of ISO character entity sets (DC)
  
  COPYRIGHT:
    Copyright (c) 2002 The Apache Software Foundation.
  
    Permission to copy in any form is granted provided this notice is
    included in all copies. Permission to redistribute is granted
    provided this file is distributed untouched in all its parts and
    included files.
  
  ==================================================================== -->
  
  <!-- =============================================================== -->
  <!-- Include the Documentation DTD -->
  <!-- =============================================================== -->
  
  <!ENTITY % document PUBLIC
      "-//APACHE//ENTITIES Documentation V1.1//EN"
      "document-v11.mod">
  %document;
  
  <!-- =============================================================== -->
  <!-- Include the Common ISO Character Entity Sets -->
  <!-- =============================================================== -->
  
  <!ENTITY % common-charents PUBLIC
      "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
      "common-charents-v10.mod">
  %common-charents;
  
  <!-- =============================================================== -->
  <!-- Include the Common elements -->
  <!-- =============================================================== -->
  
  <!ENTITY % common PUBLIC
      "-//APACHE//ENTITIES Common Elements V1.0//EN"
      "common-elems-v10.mod">
  %common;
  
  <!-- =============================================================== -->
  <!-- Include the Todo module -->
  <!-- =============================================================== -->
  
  <!ENTITY % todo PUBLIC
      "-//APACHE//ENTITIES Todo V1.1//EN"
      "todo-v11.mod">
  %todo;
  
  <!-- =============================================================== -->
  <!-- End of DTD -->
  <!-- =============================================================== -->
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/resources/images/wsif.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/resources/images/icon.png
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/resources/images/group-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/resources/images/project-logo.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/content/todo2document.xsl
  
  Index: todo2document.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      version="1.0">
  
   <xsl:import href="copyover.xsl"/>
  
   <xsl:template match="/">
    <xsl:apply-templates select="//todo"/>
   </xsl:template>
  
   <xsl:template match="todo">
    <document>
     <header>
      <title>To Do List</title>
     </header>
     <body>
      <p><xsl:value-of select="@info"/></p>
      <xsl:apply-templates/>
     </body>
    </document>
   </xsl:template>
  
   <xsl:template match="actions">
    <section>
     <title><xsl:value-of select="@priority"/></title>
     <ul>
      <xsl:for-each select="action">
       <li>
        <strong><xsl:text>[</xsl:text><xsl:value-of select="@context"/><xsl:text>]</xsl:text></strong><xsl:text> </xsl:text>
        <xsl:apply-templates/>
        <xsl:text> </xsl:text>&#8594;<xsl:text> </xsl:text><xsl:value-of select="@dev"/>
       </li>
      </xsl:for-each>
     </ul>
    </section>
   </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/xslt/fo/document2fo.xsl
  
  Index: document2fo.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  xmlns:fo="http://www.w3.org/1999/XSL/Format"
                  version="1.0">
  
    <xsl:output method="xml"/>
  
    <xsl:template match="/">
      <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
        <fo:layout-master-set>
  
          <fo:simple-page-master master-name="first-page"
            page-height="11in" 
            page-width="8.5in"
            margin-top="1in" 
            margin-bottom="1in" 
            margin-left="1.25in" 
            margin-right="1in">
            <fo:region-body
              margin-top="0.5in"
              margin-bottom=".5in"/>
            <fo:region-after 
              region-name="first-footer"
              extent=".5in"
              display-align="before"/>
          </fo:simple-page-master>
  
          <fo:simple-page-master master-name="even-page"
            page-height="11in" 
            page-width="8.5in"
            margin-top="1in" 
            margin-bottom="1in" 
            margin-left="1.25in" 
            margin-right="1in">
            <fo:region-before
              region-name="even-header"
              extent="0.5in"
              border-bottom="0.5pt solid"/>
            <fo:region-body
              margin-top="0.5in"
              margin-bottom=".5in"/>
            <fo:region-after 
              region-name="even-footer"
              extent=".5in"
              display-align="before"/>
          </fo:simple-page-master>
  
          <fo:simple-page-master master-name="odd-page"
            page-height="11in" 
            page-width="8.5in"
            margin-top="1in" 
            margin-bottom="1in" 
            margin-left="1.25in" 
            margin-right="1in">
            <fo:region-before
              region-name="odd-header"
              extent="0.5in"
              border-bottom="0.5pt solid"/>
            <fo:region-body
              margin-top="0.5in"
              margin-bottom=".5in"/>
            <fo:region-after 
              region-name="odd-footer"
              extent=".5in"
              display-align="before"/>
          </fo:simple-page-master>
  
          <fo:page-sequence-master master-name="book">
            <fo:repeatable-page-master-alternatives>
              <fo:conditional-page-master-reference
                page-position="first"
                master-reference="first-page"/>
              <fo:conditional-page-master-reference
                odd-or-even="odd"
                master-reference="odd-page"/>
              <fo:conditional-page-master-reference
                odd-or-even="even"
                master-reference="even-page"/>
            </fo:repeatable-page-master-alternatives>
          </fo:page-sequence-master>
        </fo:layout-master-set>
        
        <fo:page-sequence master-reference="book">
          <xsl:apply-templates/>
        </fo:page-sequence>
        
      </fo:root>
    </xsl:template>
    
    <xsl:template match="document">
      <fo:title><xsl:value-of select="header/title"/></fo:title>
      
      <fo:static-content flow-name="first-footer">
        <fo:block
          border-top="0.25pt solid"
          padding-before="6pt"
          text-align="center">
          <xsl:apply-templates select="footer"/>
        </fo:block>
        <fo:block
          text-align="start">
          Page <fo:page-number/>
        </fo:block>
      </fo:static-content>
  
      <fo:static-content flow-name="even-header">
        <fo:block
          text-align="end"
          font-style="italic">
          <xsl:value-of select="header/title"/>
        </fo:block>
      </fo:static-content>
  
      <fo:static-content flow-name="even-footer">
        <fo:block
          border-top="0.25pt solid"
          padding-before="6pt"
          text-align="center">
          <xsl:apply-templates select="footer"/>
        </fo:block>
        <fo:block
          text-align="end">
          Page <fo:page-number/>
        </fo:block>
      </fo:static-content>
  
      <fo:static-content flow-name="odd-header">
        <fo:block
          text-align="start"
          font-style="italic">
          <xsl:value-of select="header/title"/>
        </fo:block>
      </fo:static-content>
      
      <fo:static-content flow-name="odd-footer">
        <fo:block
          border-top="0.25pt solid"
          padding-before="6pt"
          text-align="center">
          <xsl:apply-templates select="footer"/>
        </fo:block>
        <fo:block
          text-align="start">
          Page <fo:page-number/>
        </fo:block>
      </fo:static-content>
  
      <fo:flow flow-name="xsl-region-body">
        <fo:block
          padding-before="24pt"
          padding-after="24pt"
          font-size="24pt"
          font-weight="bold">
          <xsl:value-of select="header/title"/>
        </fo:block>
        
        <fo:block
          text-align="justify"
          padding-before="18pt"
          padding-after="18pt">
          <xsl:apply-templates/>
        </fo:block>
      </fo:flow>
    </xsl:template>
    
    <xsl:template match="abstract">
      <fo:block
        font-size="12pt"
        text-align="center"
        space-before="20pt"
        space-after="25pt"
        width="7.5in"
        font-family="serif"
        font-style="italic">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
    
    <xsl:template match="notice">
      <fo:block
        font-size="10pt"
        text-align="left"
        space-before="20pt"
        width="7.5in"
        font-family="serif"
        border-top="0.25pt solid"
        border-bottom="0.25pt solid"
        padding-before="6pt"
        padding-after="6pt">
        NOTICE: <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="section">
      
      <xsl:param name="level">0</xsl:param>
      <xsl:variable name="size" select="16-(number($level)*2)"/>
      
      <fo:block
        font-family="serif"
        font-size="{$size}pt"
        font-weight="bold"
        space-before="12pt">
        <xsl:number format="1.1.1.1.1.1.1" count="section" level="multiple"/>
        <xsl:text> </xsl:text>
        <xsl:value-of select="title"/>
      </fo:block>
      <xsl:apply-templates>
        <xsl:with-param name="level" select="number($level)+1"/>
      </xsl:apply-templates>
      
    </xsl:template>
    
    <xsl:template match="title">
      <!-- do nothing as titles are handled in their parent templates -->
    </xsl:template>
    
    <xsl:template match="subtitle">
      <xsl:param name="level">0</xsl:param>
      <xsl:variable name="size" select="16-(number($level)*1.5)"/>
  
      <fo:block
        font-weight="bold"
        font-size="{$size}pt">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="authors">
      <fo:block
        space-before="20pt"
        font-weight="bold"
        font-size="9pt">
        <xsl:for-each select="person">
          <xsl:value-of select="@name"/>, <xsl:value-of select="@email"/>
          <xsl:if test="not(position() = last())">, </xsl:if>
        </xsl:for-each>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="p">
      <fo:block
        space-before="4pt"
        space-after="4pt"
        font-family="serif">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
    
  
    <xsl:template match="source">
      <fo:block
        font-family="monospace"
        font-size="10pt"
        background-color="#f0f0f0"
        white-space-collapse="false"
        text-align="start">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
    
    
    <xsl:template match="ol|ul">
      <fo:list-block 
        provisional-distance-between-starts="18pt"
        provisional-label-separation="3pt"
        text-align="start">
        <xsl:apply-templates/>
      </fo:list-block>
    </xsl:template>
    
    <xsl:template match="ol/li">
      <fo:list-item>
        <fo:list-item-label 
          end-indent="label-end()">
          <fo:block>
            <xsl:number format="1."/>
          </fo:block>
        </fo:list-item-label>
        <fo:list-item-body 
          start-indent="body-start()">
          <fo:block
            font-family="serif">
            <xsl:apply-templates/>
          </fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </xsl:template>
    
    <xsl:template match="ul/li">
      <fo:list-item>
        <fo:list-item-label end-indent="label-end()">
          <fo:block>&#x2022;</fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block
            font-family="serif">
            <xsl:apply-templates/>
          </fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </xsl:template>
    
    <xsl:template match="dl">
      <fo:list-block
        provisional-distance-between-starts="18pt"
        provisional-label-separation="3pt"
        text-align="start">
        <xsl:apply-templates/>
      </fo:list-block>
    </xsl:template>
    
    <xsl:template match="dt">
      <fo:list-item>
        <fo:list-item-label end-indent="label-end()">
          <fo:block></fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block
            font-weight="bold">
            <xsl:apply-templates/>
          </fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </xsl:template>
    
    <xsl:template match="dd">
      <fo:list-item>
        <fo:list-item-label end-indent="label-end()">
          <fo:block></fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block>
            <xsl:apply-templates/>
          </fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </xsl:template>
    
    <xsl:template match="strong">
      <fo:inline font-weight="bold"><xsl:apply-templates/></fo:inline>
    </xsl:template>
    
    <xsl:template match="em">
      <fo:inline font-style="italic"><xsl:apply-templates/></fo:inline>
    </xsl:template>
  
    <xsl:template match="code">
      <fo:inline font-family="monospace"><xsl:apply-templates/></fo:inline>
    </xsl:template>
  
    <xsl:template match="warning">
      <fo:block
        margin-left="0.25in"
        margin-right="0.25in"
        font-weight="bold"
        font-size="10pt"
        font-family="serif"
        space-before="10pt"
        border-before-style="solid"
        border-start-style="solid"
        border-end-style="solid"
        border-color="#D00000"
        background-color="#D00000"
        color="#ffffff">
        Warning: <xsl:value-of select="title"/>
      </fo:block>
      <fo:block
        margin-left="0.25in"
        margin-right="0.25in"
        font-family="serif"
        font-size="8pt"
        border-after-style="solid"
        border-start-style="solid"
        border-end-style="solid"
        border-color="#D00000"
        background-color="#fff0f0"
        padding-start="3pt"
        padding-end="3pt"
        padding-before="3pt"
        padding-after="3pt"
        space-after="10pt">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="note">
      <fo:block
        margin-left="0.25in"
        margin-right="0.25in"
        font-weight="bold"
        font-size="10pt"
        color="#ffffff"
        font-family="serif"
        space-before="10pt"
        border-before-style="solid"
        border-start-style="solid"
        border-end-style="solid"
        border-color="#A0C9F5"
        background-color="#A0C9F5">
        Note: <xsl:value-of select="title"/>
      </fo:block>
      <fo:block
        margin-left="0.25in"
        margin-right="0.25in"
        font-family="serif"
        font-size="8pt"
        space-after="10pt"
        border-after-style="solid"
        border-start-style="solid"
        border-end-style="solid"
        border-color="#A0C9F5"
        background-color="#F0F0FF"
        padding-start="3pt"
        padding-end="3pt"
        padding-before="3pt"
        padding-after="3pt">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="fixme">
      <fo:block
        margin-left="0.25in"
        margin-right="0.25in"
        font-weight="bold"
        font-size="10pt"
        color="#FFFFFF"
        font-family="serif"
        space-before="10pt"
        border-before-style="solid"
        border-start-style="solid"
        border-end-style="solid"
        border-color="#C6C650"
        background-color="#C6C650">
        FIXME (<xsl:value-of select="@author"/>): <xsl:value-of select="title"/>
      </fo:block>
      <fo:block
        margin-left="0.25in"
        margin-right="0.25in"
        font-family="serif"
        font-size="8pt"
        space-after="10pt"
        border-after-style="solid"
        border-start-style="solid"
        border-end-style="solid"
        border-color="#C6C650"
        background-color="#FFF0F0"
        padding-start="3pt"
        padding-end="3pt"
        padding-before="3pt"
        padding-after="3pt">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="link">
      <fo:basic-link color="blue" text-decoration="underline" external-destination="{@href}"><xsl:apply-templates/></fo:basic-link>
    </xsl:template>
  
    <xsl:template match="figure">
      <!-- FIXME: Images are not found at the moment -->
      <fo:external-graphic src="{@src}"/>
      <!-- alt text and credits need inserting -->
    </xsl:template>
  
    <xsl:template match="table">
      <!-- FIXME: Apache FOP must have column widths specified at present,
           this section can be removed when this limitation is removed from Fop. 
           Unfortunately, this means that each column is a fixed width,
           but at least the table displays! -->
  
      <xsl:variable name="max-number-columns">
        <xsl:for-each select="tr">
          <xsl:sort select="count(td|th)" data-type="number" order="descending"/>
          <xsl:if test="position() = 1">
            <xsl:value-of select="count(td|th)"/>
          </xsl:if>
        </xsl:for-each>
      </xsl:variable>
  
  
      <xsl:variable name="column-width">
        <xsl:value-of select="6.25 div number($max-number-columns)"/>in
      </xsl:variable>
  
      <fo:table>
                    
        <fo:table-column>
          <xsl:attribute name="column-width">
            <xsl:value-of select="$column-width"/>
          </xsl:attribute>
  
          <xsl:attribute name="number-columns-repeated">
            <xsl:value-of select="number($max-number-columns)"/>
          </xsl:attribute>
        </fo:table-column>
  
        <!-- End of hack for Fop support (if removing this hack, remember 
             you need the <fo:table> element) -->
  
        <fo:table-body
          font-size="10pt"
          font-family="sans-serif">
          <xsl:apply-templates select="tr"/>
        </fo:table-body>
      </fo:table>
  
      <!-- FIXME: Apache Fop does not support the caption element yet.
           This hack will display the table caption accordingly. -->
      <xsl:if test="caption">
        <fo:block
          text-align="center"
          font-weight="bold">
          Table
          <xsl:text> </xsl:text>
          <xsl:number count="table" level="multiple"/>
          <xsl:text>: </xsl:text>
          <xsl:value-of select="caption"/>
        </fo:block>
      </xsl:if>
    </xsl:template>
  
    <xsl:template match="tr">
      <fo:table-row>
        <xsl:apply-templates/>
      </fo:table-row>
    </xsl:template>
  
    <xsl:template match="th">
        <fo:table-cell
          padding-before="4pt"
          padding-after="4pt"
          padding-start="4pt"
          padding-end="4pt"
          background-color="#A0C9F5">
          <xsl:attribute name="number-columns-spanned">
            <xsl:value-of select="@colspan"/>
          </xsl:attribute>
          <xsl:attribute name="number-rows-spanned">
            <xsl:value-of select="@rowspan"/>
          </xsl:attribute>
          <fo:block
            text-align="center">
            <xsl:apply-templates/>
          </fo:block>
        </fo:table-cell>
    </xsl:template>
  
    <xsl:template match="td">
      <fo:table-cell
        padding-before="4pt"
        padding-after="4pt"
        padding-start="4pt"
        padding-end="4pt"
        border="1pt solid #A0C9F5">
        <xsl:attribute name="number-columns-spanned">
            <xsl:value-of select="@colspan"/>
          </xsl:attribute>
          <xsl:attribute name="number-rows-spanned">
            <xsl:value-of select="@rowspan"/>
          </xsl:attribute>
        <fo:block>
          <xsl:apply-templates/>
        </fo:block>
      </fo:table-cell>
    </xsl:template>
  
    <xsl:template match="br">
      <fo:block></fo:block>
    </xsl:template>
  
    <xsl:template match="legal">
      <fo:inline
        font-size="8pt">
        <xsl:apply-templates/>
      </fo:inline>
    </xsl:template>
  
  <!-- ====================================================================== -->
  <!-- Local Extensions section -->
  <!-- ====================================================================== -->
  
   <xsl:template match="citation">
     <fo:inline>
       [<xsl:value-of select="@def"/>]
     </fo:inline>
   </xsl:template>
  
  
  
  </xsl:stylesheet>
  
  
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/scripts/breadcrumbs.js
  
  Index: breadcrumbs.js
  ===================================================================
  /*
  
   ============================================================================
                     The Apache Software License, Version 1.1
   ============================================================================
  
   Copyright (C) @skinconfig.year@ The Apache Software Foundation. All rights reserved.
  
   Redistribution and use in source and binary forms, with or without modifica-
   tion, are permitted provided that the following conditions are met:
  
   1. Redistributions of  source code must  retain the above copyright  notice,
      this list of conditions and the following disclaimer.
  
   2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
  
   3. The end-user documentation included with the redistribution, if any, must
      include  the following  acknowledgment:  "This product includes  software
      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
      Alternately, this  acknowledgment may  appear in the software itself,  if
      and wherever such third-party acknowledgments normally appear.
  
   4. The names "Apache Forrest" and "Apache Software Foundation"
      must not be used to endorse or promote products derived from this  software
      without  prior written permission. For written permission, please contact
      apache@apache.org.
  
   5. Products  derived from this software may not  be called "Apache", nor may
      "Apache" appear  in their name,  without prior written permission  of the
      Apache Software Foundation.
  
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
   APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
   DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
   OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
   ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
   (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
   This software  consists of voluntary contributions made  by many individuals
   on  behalf of the Apache Software  Foundation. For more  information on the
   Apache Software Foundation, please see <http://www.apache.org/>.
  
  */
  
  /**
   * This script, when included in a html file, builds a neat breadcrumb trail
   * based on its url. That is, if it doesn't contains bugs (I'm relatively
   * sure it does).
   *
   * Typical usage:
   * <script type="text/javascript" language="JavaScript" src="breadcrumbs.js"></script>
   *
   *@author     <a href="mailto:leosimons@apache.org">Leo Simons</a> (main author)
   *@author     <a href="mailto:nicolaken@apache.org">Nicola Ken Barozzi</a> (integration in skin)
   *@created    July 12, 2002
   *@version    1.0
   */
  
  /* ========================================================================
  	CONSTANTS
     ======================================================================== */
  
  /**
   * Two-dimensional array containing extra crumbs to place at the front of
   * the trail. Specify first the name of the crumb, then the URI that belongs
   * to it. You'll need to modify this for every domain or subdomain where
   * you use this script (you can leave it as an empty array if you wish)
   */
  var PREPREND_CRUMBS = new Array();
     if(!("@skinconfig.trail.link1.name@"=="")){
       PREPREND_CRUMBS.push( new Array( "@skinconfig.trail.link1.name@", "@skinconfig.trail.link1.href@" ) );
     }
     if(!("@skinconfig.trail.link2.name@"=="")){
       PREPREND_CRUMBS.push( new Array( "@skinconfig.trail.link2.name@", "@skinconfig.trail.link2.href@" ) );
     }
     if(!("@skinconfig.trail.link3.name@"=="")){
       PREPREND_CRUMBS.push( new Array( "@skinconfig.trail.link3.name@", "@skinconfig.trail.link3.href@" ) );
     }
  
  /**
   * String to include between crumbs:
   */
  var DISPLAY_SEPARATOR = " &gt; ";
  /**
   * String to include at the beginning of the trail
   */
  var DISPLAY_PREPREND = "";
  /**
   * String to include at the end of the trail
   */
  var DISPLAY_POSTPREND = "";
  
  /**
   * CSS Class to use for a single crumb:
   */
  var CSS_CLASS_CRUMB = "breadcrumb";
  
  /**
   * CSS Class to use for the complete trail:
   */
  var CSS_CLASS_TRAIL = "breadcrumbTrail";
  
  /**
   * CSS Class to use for crumb separator:
   */
  var CSS_CLASS_SEPARATOR = "crumbSeparator";
  
  /**
   * Array of strings containing common file extensions. We use this to
   * determine what part of the url to ignore (if it contains one of the
   * string specified here, we ignore it).
   */
  var FILE_EXTENSIONS = new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
  
  /**
   * String that separates parts of the breadcrumb trail from each other.
   * When this is no longer a slash, I'm sure I'll be old and grey.
   */
  var PATH_SEPARATOR = "/";
  
  /* ========================================================================
  	UTILITY FUNCTIONS
     ======================================================================== */
  /**
   * Capitalize first letter of the provided string and return the modified
   * string.
   */
  function sentenceCase( string )
  {
  	var lower = string.toLowerCase();
  	return lower.substr(0,1).toUpperCase() + lower.substr(1);	
  }
  
  /**
   * Returns an array containing the names of all the directories in the
   * current document URL
   */
  function getDirectoriesInURL()
  {
  	var trail = document.location.pathname.split( PATH_SEPARATOR );
  
  	// check whether last section is a file or a directory
  	var lastcrumb = trail[trail.length-1];
  	for( var i = 0; i < FILE_EXTENSIONS.length; i++ )
  	{
  		if( lastcrumb.indexOf( FILE_EXTENSIONS[i] ) )
  		{
  			// it is, remove it and send results
  			return trail.slice( 1, trail.length-1 );
  		}
  	}
  
  	// it's not; send the trail unmodified
  	return trail.slice( 1, trail.length );
  }
  
  /* ========================================================================
  	BREADCRUMB FUNCTIONALITY
     ======================================================================== */
  /**
   * Return a two-dimensional array describing the breadcrumbs based on the
   * array of directories passed in.
   */
  function getBreadcrumbs( dirs )
  {
  	var prefix = "/";
  	var postfix = "/";
  
  	// the array we will return
  	var crumbs = new Array();
  
  	if( dirs != null )
  	{
  		for( var i = 0; i < dirs.length; i++ )
  		{
  			prefix += dirs[i] + postfix;
  			crumbs.push( new Array( dirs[i], prefix ) );
  		}
  	}
  
  	// preprend the PREPREND_CRUMBS
  	if(PREPREND_CRUMBS.length > 0 )
  	{
  		return PREPREND_CRUMBS.concat( crumbs );
  	}
  
  	return crumbs;
  }
  
  /**
   * Return a string containing a simple text breadcrumb trail based on the
   * two-dimensional array passed in.
   */
  function getCrumbTrail( crumbs )
  {
  	var xhtml = DISPLAY_PREPREND;
  
  	for( var i = 0; i < crumbs.length; i++ )
  	{
  		xhtml += '<a href="' + crumbs[i][1] + '" >';
  		xhtml += crumbs[i][0] + '</a>';
  		if( i != (crumbs.length-1) )
  		{
  			xhtml += DISPLAY_SEPARATOR;
  		}
  	}
  
  	xhtml += DISPLAY_POSTPREND;
  
  	return xhtml;
  }
  
  /**
   * Return a string containing an XHTML breadcrumb trail based on the
   * two-dimensional array passed in.
   */
  function getCrumbTrailXHTML( crumbs )
  {
  	var xhtml = '<span class="' + CSS_CLASS_TRAIL  + '">';
  	xhtml += DISPLAY_PREPREND;
  
  	for( var i = 0; i < crumbs.length; i++ )
  	{
  		xhtml += '<a href="' + crumbs[i][1] + '" class="' + CSS_CLASS_CRUMB + '">';
  		xhtml += rumbs[i][0] + '</a>';
  		if( i != (crumbs.length-1) )
  		{
  			xhtml += '<span class="' + CSS_CLASS_SEPARATOR + '">' + DISPLAY_SEPARATOR + '</span>';
  		}
  	}
  
  	xhtml += DISPLAY_POSTPREND;
  	xhtml += '</span>';
  
  	return xhtml;
  }
  
  /* ========================================================================
  	PRINT BREADCRUMB TRAIL
     ======================================================================== */
  
  // check if we're local; if so, only print the PREPREND_CRUMBS
  if( document.location.href.toLowerCase().indexOf( "http://" ) == -1 )
  {
  	document.write( getCrumbTrail( getBreadcrumbs() ) );
  }
  else
  {
  	document.write( getCrumbTrail( getBreadcrumbs( getDirectoriesInURL() ) ) );
  }
  
  
  
  
  1.1                  xml-axis-wsif/proposals/website/src/documentation/skins/wsif-skin/scripts/breadcrumbs-optimized.js
  
  Index: breadcrumbs-optimized.js
  ===================================================================
  var PREPREND_CRUMBS=new Array();
  PREPREND_CRUMBS.push(new Array("Apache","http://www.apache.org/"));
  PREPREND_CRUMBS.push(new Array("Jakarta","http://jakarta.apache.org/"));
  var DISPLAY_SEPARATOR=" &gt; ";
  var DISPLAY_PREPREND="";
  var DISPLAY_POSTPREND=":";
  var CSS_CLASS_CRUMB="breadcrumb";
  var CSS_CLASS_TRAIL="breadcrumbTrail";
  var CSS_CLASS_SEPARATOR="crumbSeparator";
  var FILE_EXTENSIONS=new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
  var PATH_SEPARATOR="/";
  
  function sc(s) {
  	var l=s.toLowerCase();
  	return l.substr(0,1).toUpperCase()+l.substr(1);
  }
  function getdirs() {
  	var t=document.location.pathname.split(PATH_SEPARATOR);
  	var lc=t[t.length-1];
  	for(var i=0;i < FILE_EXTENSIONS.length;i++)
  	{
  		if(lc.indexOf(FILE_EXTENSIONS[i]))
  			return t.slice(1,t.length-1); }
  	return t.slice(1,t.length);
  }
  function getcrumbs( d )
  {
  	var pre = "/";
  	var post = "/";
  	var c = new Array();
  	if( d != null )
  	{
  		for(var i=0;i < d.length;i++) {
  			pre+=d[i]+postfix;
  			c.push(new Array(d[i],pre)); }
  	}
  	if(PREPREND_CRUMBS.length > 0 )
  		return PREPREND_CRUMBS.concat( c );
  	return c;
  }
  function gettrail( c )
  {
  	var h=DISPLAY_PREPREND;
  	for(var i=0;i < c.length;i++)
  	{
  		h+='<a href="'+c[i][1]+'" >'+sc(c[i][0])+'</a>';
  		if(i!=(c.length-1))
  			h+=DISPLAY_SEPARATOR; }
  	return h+DISPLAY_POSTPREND;
  }
  
  function gettrailXHTML( c )
  {
  	var h='<span class="'+CSS_CLASS_TRAIL+'">'+DISPLAY_PREPREND;
  	for(var i=0;i < c.length;i++)
  	{
  		h+='<a href="'+c[i][1]+'" class="'+CSS_CLASS_CRUMB+'">'+sc(c[i][0])+'</a>';
  		if(i!=(c.length-1))
  			h+='<span class="'+CSS_CLASS_SEPARATOR+'">'+DISPLAY_SEPARATOR+'</span>'; }
  	return h+DISPLAY_POSTPREND+'</span>';
  }
  
  if(document.location.href.toLowerCase().indexOf("http://")==-1)
  	document.write(gettrail(getcrumbs()));
  else
  	document.write(gettrail(getcrumbs(getdirs())));
  
  
  
  

Mime
View raw message