You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cr...@apache.org on 2003/12/12 06:13:01 UTC

cvs commit: cocoon-2.1/src/documentation/xdocs/plan linkalarm-broken.txt

crossley    2003/12/11 21:13:01

  Modified:    src/blocks/portal/samples/coplets sitemap.xmap
               src/blocks/portal/samples/skins/basic/css page.css
               src/blocks/portal/samples/skins/common/css page.css
               src/blocks/slide/samples flow.js
               src/documentation/xdocs/plan linkalarm-broken.txt
  Log:
  Fix dos2unix line-endings.
  PR: 25381
  
  Revision  Changes    Path
  1.2       +43 -43    cocoon-2.1/src/blocks/portal/samples/coplets/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal/samples/coplets/sitemap.xmap,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sitemap.xmap	11 Dec 2003 16:05:01 -0000	1.1
  +++ sitemap.xmap	12 Dec 2003 05:13:01 -0000	1.2
  @@ -1,43 +1,43 @@
  -<?xml version="1.0"?>
  -
  -<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  -
  -<map:pipelines>
  -    
  -  <map:pipeline>	
  -
  -    <!-- this is a gallery coplet -->
  -    <map:match pattern="gallery">
  -        <map:generate type="directory" src="../../petstore/images">
  -            <map:parameter name="include" value=".jpg"/>
  -        </map:generate>
  -        <map:transform src="gallery/dir2pic.xsl">
  -            <map:parameter name="dirprefix" value="../petstore/images"/>
  -        </map:transform>
  -        <map:transform type="xslt" src="gallery/picture.xsl">
  -          <map:parameter name="pic" value="{coplet:attributes/picture}"/>
  -          <map:parameter name="fullscreen" value="{coplet:aspectDatas/fullScreen}"/>
  -        </map:transform>
  -        <map:transform type="portal-coplet"/>
  -        <map:serialize type="xml"/>
  -    </map:match>
  -    <map:match pattern="galleryviewer">
  -        <map:generate type="directory" src="../../petstore/images">
  -            <map:parameter name="include" value=".jpg"/>
  -        </map:generate>
  -        <map:transform src="gallery/dir2pic.xsl">
  -            <map:parameter name="dirprefix" value="../petstore/images"/>
  -        </map:transform>
  -        <map:transform type="xslt" src="gallery/picture.xsl">
  -          <map:parameter name="pic" value="{coplet:attributes/picture}"/>
  -          <map:parameter name="fullscreen" value="{coplet:aspectDatas/fullScreen}"/>
  -          <map:parameter name="navigation" value="false"/>
  -        </map:transform>
  -        <map:transform type="portal-coplet"/>
  -        <map:serialize type="xml"/>
  -    </map:match>
  -
  -  </map:pipeline>
  -
  -</map:pipelines>
  -</map:sitemap>
  +<?xml version="1.0"?>
  +
  +<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  +
  +<map:pipelines>
  +    
  +  <map:pipeline>	
  +
  +    <!-- this is a gallery coplet -->
  +    <map:match pattern="gallery">
  +        <map:generate type="directory" src="../../petstore/images">
  +            <map:parameter name="include" value=".jpg"/>
  +        </map:generate>
  +        <map:transform src="gallery/dir2pic.xsl">
  +            <map:parameter name="dirprefix" value="../petstore/images"/>
  +        </map:transform>
  +        <map:transform type="xslt" src="gallery/picture.xsl">
  +          <map:parameter name="pic" value="{coplet:attributes/picture}"/>
  +          <map:parameter name="fullscreen" value="{coplet:aspectDatas/fullScreen}"/>
  +        </map:transform>
  +        <map:transform type="portal-coplet"/>
  +        <map:serialize type="xml"/>
  +    </map:match>
  +    <map:match pattern="galleryviewer">
  +        <map:generate type="directory" src="../../petstore/images">
  +            <map:parameter name="include" value=".jpg"/>
  +        </map:generate>
  +        <map:transform src="gallery/dir2pic.xsl">
  +            <map:parameter name="dirprefix" value="../petstore/images"/>
  +        </map:transform>
  +        <map:transform type="xslt" src="gallery/picture.xsl">
  +          <map:parameter name="pic" value="{coplet:attributes/picture}"/>
  +          <map:parameter name="fullscreen" value="{coplet:aspectDatas/fullScreen}"/>
  +          <map:parameter name="navigation" value="false"/>
  +        </map:transform>
  +        <map:transform type="portal-coplet"/>
  +        <map:serialize type="xml"/>
  +    </map:match>
  +
  +  </map:pipeline>
  +
  +</map:pipelines>
  +</map:sitemap>
  
  
  
  1.2       +6 -6      cocoon-2.1/src/blocks/portal/samples/skins/basic/css/page.css
  
  Index: page.css
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal/samples/skins/basic/css/page.css,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- page.css	25 Jun 2003 08:23:17 -0000	1.1
  +++ page.css	12 Dec 2003 05:13:01 -0000	1.2
  @@ -1,6 +1,6 @@
  -body { background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif;	font-size : 100%;}
  -
  -.tab { font-size : 85%; border: 0 }
  -.tab a:link {   text-decoration : none; color: #000066;  }
  -.tab a:visited { text-decoration : none; color: #2A4A6D }
  -.tab a:hover { color: #0000FF; }
  +body { background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif;	font-size : 100%;}
  +
  +.tab { font-size : 85%; border: 0 }
  +.tab a:link {   text-decoration : none; color: #000066;  }
  +.tab a:visited { text-decoration : none; color: #2A4A6D }
  +.tab a:hover { color: #0000FF; }
  
  
  
  1.2       +6 -6      cocoon-2.1/src/blocks/portal/samples/skins/common/css/page.css
  
  Index: page.css
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal/samples/skins/common/css/page.css,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- page.css	25 Jun 2003 08:23:16 -0000	1.1
  +++ page.css	12 Dec 2003 05:13:01 -0000	1.2
  @@ -1,6 +1,6 @@
  -body { background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif;	font-size : 100%;}
  -
  -.tab { font-size : 85%; border: 0 }
  -.tab a:link {   text-decoration : none; color: #000066;  }
  -.tab a:visited { text-decoration : none; color: #2A4A6D }
  -.tab a:hover { color: #0000FF; }
  +body { background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif;	font-size : 100%;}
  +
  +.tab { font-size : 85%; border: 0 }
  +.tab a:link {   text-decoration : none; color: #000066;  }
  +.tab a:visited { text-decoration : none; color: #2A4A6D }
  +.tab a:hover { color: #0000FF; }
  
  
  
  1.3       +184 -184  cocoon-2.1/src/blocks/slide/samples/flow.js
  
  Index: flow.js
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/slide/samples/flow.js,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- flow.js	10 Dec 2003 17:20:25 -0000	1.2
  +++ flow.js	12 Dec 2003 05:13:01 -0000	1.3
  @@ -1,184 +1,184 @@
  -
  -importPackage(Packages.org.apache.cocoon.components.slide);
  -importPackage(Packages.org.apache.cocoon.components.source.helpers);
  -importPackage(Packages.org.apache.excalibur.source);
  -
  -var repository = cocoon.getComponent("org.apache.cocoon.components.repository.SourceRepository");
  -var provider = cocoon.getComponent(PrincipalProvider.ROLE + "Selector").select("slide");
  -var resolver = cocoon.getComponent(SourceResolver.ROLE);
  -
  -// ---------------------------------------------- utility functions
  -
  -function getBaseURI() {
  -  var namespace = cocoon.parameters["namespace"];
  -  var caller    = cocoon.parameters["caller"];
  -  return "slide://" + caller + "@" + namespace;
  -}
  -
  -function getParentPath() {
  -  var parentPath = cocoon.request.getParameter("parentPath");
  -  if (!parentPath.lastIndexOf('/') != parentPath.length-1) {
  -      parentPath = parentPath + "/";
  -  }
  -  return parentPath;
  -}
  -
  -function getResourcePath() {
  -  return cocoon.request.getParameter("resourcePath");
  -  
  -}
  -
  -// ---------------------------------------------- authentication
  -
  -function authenticate() {
  -  var userid = cocoon.request.getParameter("userid");
  -  var password = cocoon.request.getParameter("password");
  -  // TODO: if (password = correct) ..
  -  cocoon.sendPage("authentication",{id:userid,role:"root"});
  -}
  -
  -// ---------------------------------------------- file management
  -
  -// make a new collection
  -function public_mkcol() {
  -  var baseUri        = getBaseURI();
  -  var parentPath     = getParentPath();
  -  var collectionName = cocoon.request.getParameter("collectionName");
  -  var location = baseUri + parentPath + collectionName;
  -  var status = repository.makeCollection(location);
  -
  -  cocoon.redirectTo("content" + parentPath);
  -}
  -
  -// upload a file
  -function public_upload() {
  -  var baseUri      = getBaseURI();
  -  var parentPath   = getParentPath();
  -  var resourceName = cocoon.request.getParameter("resourceName");
  -  var dest = baseUri + parentPath + resourceName;
  -  var src  = "upload://uploadFile";
  -  
  -  var status = repository.save(src,dest);
  -  cocoon.redirectTo("content" + parentPath);
  -}
  -
  -// delete a resource
  -function public_delete() {
  -  var baseUri = getBaseURI();
  -  var parentPath = getParentPath();
  -  var resourceName = cocoon.request.getParameter("resourceName");
  -  var location = baseUri + parentPath + resourceName;
  -  
  -  var status = repository.remove(location);
  -  cocoon.redirectTo("content" + parentPath);
  -}
  -
  -// ---------------------------------------------- property management
  -
  -function public_addproperty() {
  -  var baseUri      = getBaseURI();
  -  var resourcePath = getResourcePath();
  -  var location     = baseUri + resourcePath;
  -  var source = null;
  -  try {
  -    source = resolver.resolveURI(location);
  -    var name      = cocoon.request.getParameter("name");
  -    var namespace = cocoon.request.getParameter("namespace");
  -    var value     = cocoon.request.getParameter("value");
  -    var property = new SourceProperty(namespace,name,value);
  -    cocoon.log.info("setting property " + property + " on source " + location);
  -    source.setSourceProperty(property);
  -  }
  -  finally {
  -    if (source != null) {
  -      resolver.release(source);
  -    }
  -  }
  -  cocoon.redirectTo("properties" + resourcePath);
  -}
  -
  -function public_removeproperty() {
  -  var baseUri = getBaseURI();
  -  var resourcePath = getResourcePath();
  -  var location = baseUri + resourcePath;
  -  var source = null;
  -  try {
  -    source = resolver.resolveURI(location);
  -    var name      = cocoon.request.getParameter("name");
  -    var namespace = cocoon.request.getParameter("namespace");
  -    cocoon.log.info("removing property " + namespace + "#" + name + " from source " + location);
  -    source.removeSourceProperty(namespace,name);
  -  } finally {
  -    if (source != null) {
  -      resolver.release(source);
  -    }
  -  }
  -  cocoon.redirectTo("properties" + resourcePath);
  -}
  -
  -// ---------------------------------------------- lock management
  -
  -function public_removelock() {
  -  var baseUri = getBaseURI();
  -  var resourcePath = getResourcePath();
  -  var subject = cocoon.request.getParameter("subject");
  -  var location = baseUri + resourcePath;
  -  
  -  cocoon.log.info("removing lock " + subject + " from source " + location);
  -  
  -  // TODO: remove lock
  -  
  -  cocoon.redirectTo("locks" + resourcePath);
  -}
  -
  -function public_addlock() {
  -  var baseUri = getBaseURI();
  -  var resourcePath = getResourcePath();
  -  var subject      = cocoon.request.getParameter("subject");
  -  var type         = cocoon.request.getParameter("type");
  -  var inheritable  = cocoon.request.getParameter("inheritable");
  -  var exclusive    = cocoon.request.getParameter("exclusive");
  -  var location = baseUri + resourcePath;
  -  
  -  cocoon.log.info("adding lock " + subject + " to source " + location);
  -  
  -  // TODO: add lock
  -  
  -  cocoon.redirectTo("locks" + resourcePath);
  -}
  -
  -// ---------------------------------------------- user management
  -
  -function public_adduser() {
  -  var username = cocoon.request.getParameter("username");
  -  var password = cocoon.request.getParameter("password");
  -  var role     = cocoon.request.getParameter("role");
  -  var caller   = cocoon.parameters["caller"];
  -
  -  provider.addPrincipal(new Principal(caller),new Principal(username,role,password));
  -  cocoon.redirectTo("users/");
  -}
  -
  -function public_removeuser() {
  -  var username = cocoon.request.getParameter("username");
  -  var caller   = cocoon.parameters["caller"];
  -  
  -  provider.removePrincipal(new Principal(caller),new Principal(username));
  -  cocoon.redirectTo("users/");
  -}
  -
  -function public_addgroup() {
  -  var groupname = cocoon.request.getParameter("groupname");
  -  var caller    = cocoon.parameters["caller"];
  -
  -  provider.addPrincipalGroup(new Principal(caller),new PrincipalGroup(groupname));
  -  cocoon.sendPage("users/",null);
  -}
  -
  -function public_removegroup() {
  -  var groupname = cocoon.request.getParameter("groupname");
  -  var caller    = cocoon.parameters["caller"];
  -  
  -  provider.removePrincipalGroup(new Principal(caller),new PrincipalGroup(groupname));
  -  cocoon.sendPage("users/",null);
  -}
  \ No newline at end of file
  +
  +importPackage(Packages.org.apache.cocoon.components.slide);
  +importPackage(Packages.org.apache.cocoon.components.source.helpers);
  +importPackage(Packages.org.apache.excalibur.source);
  +
  +var repository = cocoon.getComponent("org.apache.cocoon.components.repository.SourceRepository");
  +var provider = cocoon.getComponent(PrincipalProvider.ROLE + "Selector").select("slide");
  +var resolver = cocoon.getComponent(SourceResolver.ROLE);
  +
  +// ---------------------------------------------- utility functions
  +
  +function getBaseURI() {
  +  var namespace = cocoon.parameters["namespace"];
  +  var caller    = cocoon.parameters["caller"];
  +  return "slide://" + caller + "@" + namespace;
  +}
  +
  +function getParentPath() {
  +  var parentPath = cocoon.request.getParameter("parentPath");
  +  if (!parentPath.lastIndexOf('/') != parentPath.length-1) {
  +      parentPath = parentPath + "/";
  +  }
  +  return parentPath;
  +}
  +
  +function getResourcePath() {
  +  return cocoon.request.getParameter("resourcePath");
  +  
  +}
  +
  +// ---------------------------------------------- authentication
  +
  +function authenticate() {
  +  var userid = cocoon.request.getParameter("userid");
  +  var password = cocoon.request.getParameter("password");
  +  // TODO: if (password = correct) ..
  +  cocoon.sendPage("authentication",{id:userid,role:"root"});
  +}
  +
  +// ---------------------------------------------- file management
  +
  +// make a new collection
  +function public_mkcol() {
  +  var baseUri        = getBaseURI();
  +  var parentPath     = getParentPath();
  +  var collectionName = cocoon.request.getParameter("collectionName");
  +  var location = baseUri + parentPath + collectionName;
  +  var status = repository.makeCollection(location);
  +
  +  cocoon.redirectTo("content" + parentPath);
  +}
  +
  +// upload a file
  +function public_upload() {
  +  var baseUri      = getBaseURI();
  +  var parentPath   = getParentPath();
  +  var resourceName = cocoon.request.getParameter("resourceName");
  +  var dest = baseUri + parentPath + resourceName;
  +  var src  = "upload://uploadFile";
  +  
  +  var status = repository.save(src,dest);
  +  cocoon.redirectTo("content" + parentPath);
  +}
  +
  +// delete a resource
  +function public_delete() {
  +  var baseUri = getBaseURI();
  +  var parentPath = getParentPath();
  +  var resourceName = cocoon.request.getParameter("resourceName");
  +  var location = baseUri + parentPath + resourceName;
  +  
  +  var status = repository.remove(location);
  +  cocoon.redirectTo("content" + parentPath);
  +}
  +
  +// ---------------------------------------------- property management
  +
  +function public_addproperty() {
  +  var baseUri      = getBaseURI();
  +  var resourcePath = getResourcePath();
  +  var location     = baseUri + resourcePath;
  +  var source = null;
  +  try {
  +    source = resolver.resolveURI(location);
  +    var name      = cocoon.request.getParameter("name");
  +    var namespace = cocoon.request.getParameter("namespace");
  +    var value     = cocoon.request.getParameter("value");
  +    var property = new SourceProperty(namespace,name,value);
  +    cocoon.log.info("setting property " + property + " on source " + location);
  +    source.setSourceProperty(property);
  +  }
  +  finally {
  +    if (source != null) {
  +      resolver.release(source);
  +    }
  +  }
  +  cocoon.redirectTo("properties" + resourcePath);
  +}
  +
  +function public_removeproperty() {
  +  var baseUri = getBaseURI();
  +  var resourcePath = getResourcePath();
  +  var location = baseUri + resourcePath;
  +  var source = null;
  +  try {
  +    source = resolver.resolveURI(location);
  +    var name      = cocoon.request.getParameter("name");
  +    var namespace = cocoon.request.getParameter("namespace");
  +    cocoon.log.info("removing property " + namespace + "#" + name + " from source " + location);
  +    source.removeSourceProperty(namespace,name);
  +  } finally {
  +    if (source != null) {
  +      resolver.release(source);
  +    }
  +  }
  +  cocoon.redirectTo("properties" + resourcePath);
  +}
  +
  +// ---------------------------------------------- lock management
  +
  +function public_removelock() {
  +  var baseUri = getBaseURI();
  +  var resourcePath = getResourcePath();
  +  var subject = cocoon.request.getParameter("subject");
  +  var location = baseUri + resourcePath;
  +  
  +  cocoon.log.info("removing lock " + subject + " from source " + location);
  +  
  +  // TODO: remove lock
  +  
  +  cocoon.redirectTo("locks" + resourcePath);
  +}
  +
  +function public_addlock() {
  +  var baseUri = getBaseURI();
  +  var resourcePath = getResourcePath();
  +  var subject      = cocoon.request.getParameter("subject");
  +  var type         = cocoon.request.getParameter("type");
  +  var inheritable  = cocoon.request.getParameter("inheritable");
  +  var exclusive    = cocoon.request.getParameter("exclusive");
  +  var location = baseUri + resourcePath;
  +  
  +  cocoon.log.info("adding lock " + subject + " to source " + location);
  +  
  +  // TODO: add lock
  +  
  +  cocoon.redirectTo("locks" + resourcePath);
  +}
  +
  +// ---------------------------------------------- user management
  +
  +function public_adduser() {
  +  var username = cocoon.request.getParameter("username");
  +  var password = cocoon.request.getParameter("password");
  +  var role     = cocoon.request.getParameter("role");
  +  var caller   = cocoon.parameters["caller"];
  +
  +  provider.addPrincipal(new Principal(caller),new Principal(username,role,password));
  +  cocoon.redirectTo("users/");
  +}
  +
  +function public_removeuser() {
  +  var username = cocoon.request.getParameter("username");
  +  var caller   = cocoon.parameters["caller"];
  +  
  +  provider.removePrincipal(new Principal(caller),new Principal(username));
  +  cocoon.redirectTo("users/");
  +}
  +
  +function public_addgroup() {
  +  var groupname = cocoon.request.getParameter("groupname");
  +  var caller    = cocoon.parameters["caller"];
  +
  +  provider.addPrincipalGroup(new Principal(caller),new PrincipalGroup(groupname));
  +  cocoon.sendPage("users/",null);
  +}
  +
  +function public_removegroup() {
  +  var groupname = cocoon.request.getParameter("groupname");
  +  var caller    = cocoon.parameters["caller"];
  +  
  +  provider.removePrincipalGroup(new Principal(caller),new PrincipalGroup(groupname));
  +  cocoon.sendPage("users/",null);
  +}
  
  
  
  1.2       +20 -20    cocoon-2.1/src/documentation/xdocs/plan/linkalarm-broken.txt
  
  Index: linkalarm-broken.txt
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/documentation/xdocs/plan/linkalarm-broken.txt,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- linkalarm-broken.txt	9 Mar 2003 00:08:10 -0000	1.1
  +++ linkalarm-broken.txt	12 Dec 2003 05:13:01 -0000	1.2
  @@ -1,20 +1,20 @@
  -#----------------------------------------------------------------
  -# LinkAlarm last run on 2002-10-19
  -#
  -#status problem_link referring_page response_code meaning comment
  -#----------------------------------------------------------------
  -1	http://buglet.sourceforge.net/	http://xml.apache.org/cocoon/link/projects.html	404	Not Found	-
  -1	http://devnet.hp.com/projects/deli/	http://xml.apache.org/cocoon/installing/jars.html	408	Request timeout (5 attempts)	-
  -1	http://editxml.sourceforge.net/	http://xml.apache.org/cocoon/link/projects.html	404	Not Found	-
  -1	http://jakarta.apache.org/avalon/excalibur/logger.html	http://xml.apache.org/cocoon/faq/faq-configure-c2.html	404	Not Found	-
  -1	http://jeuclid.sourceforge.net/	http://xml.apache.org/cocoon/link/projects.html	404	Not Found	-
  -1	http://opensource.bibop.it/bbp/xforge/index.html	http://xml.apache.org/cocoon/link/projects.html	404	Not Found	-
  -1	http://www.belfoot.tv/	http://xml.apache.org/cocoon/link/livesites.html	408	Request timeout (5 attempts)	-
  -6	http://www.bigfoot.com/~davidsont/jstyle	http://xml.apache.org/cocoon/userdocs/xsp/xsp-internals.html	404	Not Found	-
  -1	http://www.elysee.tv/	http://xml.apache.org/cocoon/link/livesites.html	408	Request timeout (5 attempts)	-
  -1	http://www.intelinet.com.br/	http://xml.apache.org/cocoon/link/livesites.html	408	Request timeout (5 attempts)	-
  -2	http://www.medisite-pro.fr/	http://xml.apache.org/cocoon/link/livesites.html	904	Can't connect to www.medisite-pro.fr:80 (Bad hostname 'www.medisite-pro.fr')	-
  -1	http://www.s-und-n.de/services/training/cocoonschulungen_english.htm	http://xml.apache.org/cocoon/link/training.html	404	Not Found	-
  -1	http://www.weft.co.uk/library/maybeupload/	http://xml.apache.org/cocoon/installing/jars.html	904	Can't connect to www.weft.co.uk:80 (Bad hostname 'www.weft.co.uk')	-
  -2	http://www.xslt-patterns.com/	http://xml.apache.org/cocoon/link/livesites.html	904	Can't connect to www.xslt-patterns.com:80 (Bad hostname 'www.xslt-patterns.com')	-
  -?	http://xml.apache.org/cocoon/bylaws-addendum.html	http://xml.apache.org/cocoon/	404	Not Found	same link is busted in 15 top-level docs
  +#----------------------------------------------------------------
  +# LinkAlarm last run on 2002-10-19
  +#
  +#status problem_link referring_page response_code meaning comment
  +#----------------------------------------------------------------
  +1	http://buglet.sourceforge.net/	http://xml.apache.org/cocoon/link/projects.html	404	Not Found	-
  +1	http://devnet.hp.com/projects/deli/	http://xml.apache.org/cocoon/installing/jars.html	408	Request timeout (5 attempts)	-
  +1	http://editxml.sourceforge.net/	http://xml.apache.org/cocoon/link/projects.html	404	Not Found	-
  +1	http://jakarta.apache.org/avalon/excalibur/logger.html	http://xml.apache.org/cocoon/faq/faq-configure-c2.html	404	Not Found	-
  +1	http://jeuclid.sourceforge.net/	http://xml.apache.org/cocoon/link/projects.html	404	Not Found	-
  +1	http://opensource.bibop.it/bbp/xforge/index.html	http://xml.apache.org/cocoon/link/projects.html	404	Not Found	-
  +1	http://www.belfoot.tv/	http://xml.apache.org/cocoon/link/livesites.html	408	Request timeout (5 attempts)	-
  +6	http://www.bigfoot.com/~davidsont/jstyle	http://xml.apache.org/cocoon/userdocs/xsp/xsp-internals.html	404	Not Found	-
  +1	http://www.elysee.tv/	http://xml.apache.org/cocoon/link/livesites.html	408	Request timeout (5 attempts)	-
  +1	http://www.intelinet.com.br/	http://xml.apache.org/cocoon/link/livesites.html	408	Request timeout (5 attempts)	-
  +2	http://www.medisite-pro.fr/	http://xml.apache.org/cocoon/link/livesites.html	904	Can't connect to www.medisite-pro.fr:80 (Bad hostname 'www.medisite-pro.fr')	-
  +1	http://www.s-und-n.de/services/training/cocoonschulungen_english.htm	http://xml.apache.org/cocoon/link/training.html	404	Not Found	-
  +1	http://www.weft.co.uk/library/maybeupload/	http://xml.apache.org/cocoon/installing/jars.html	904	Can't connect to www.weft.co.uk:80 (Bad hostname 'www.weft.co.uk')	-
  +2	http://www.xslt-patterns.com/	http://xml.apache.org/cocoon/link/livesites.html	904	Can't connect to www.xslt-patterns.com:80 (Bad hostname 'www.xslt-patterns.com')	-
  +?	http://xml.apache.org/cocoon/bylaws-addendum.html	http://xml.apache.org/cocoon/	404	Not Found	same link is busted in 15 top-level docs