You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by cr...@apache.org on 2003/12/11 06:14:52 UTC

cvs commit: xml-forrest/tools/dtdconverters dtdx.dtd dtdx2dtd.xsl

crossley    2003/12/10 21:14:52

  Modified:    src/core/fresh-site/src/documentation/content/xdocs/images
                        group.svg project.svg
               src/java/org/apache/cocoon/components/modules/input/lm
                        LocationNode.java LocatorNode.java
               tools/dtdconverters dtdx.dtd dtdx2dtd.xsl
  Log:
  Fix dos2unix line-endings.
  
  Revision  Changes    Path
  1.2       +59 -61    xml-forrest/src/core/fresh-site/src/documentation/content/xdocs/images/group.svg
  
  Index: group.svg
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/core/fresh-site/src/documentation/content/xdocs/images/group.svg,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- group.svg	20 Oct 2003 15:38:36 -0000	1.1
  +++ group.svg	11 Dec 2003 05:14:51 -0000	1.2
  @@ -1,61 +1,59 @@
  -<?xml version="1.0" standalone="no"?>
  -
  -<!--
  -       SVG Anteater logo
  -        jefft@apache.org
  -
  -To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
  -xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
  -SVG spec (http://www.w3.org/TR/SVG/) as a reference.
  --->
  -
  -<!--
  -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  -"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
  --->
  -<svg xmlns="http://www.w3.org/2000/svg"
  -     xmlns:xlink="http://www.w3.org/1999/xlink"
  -     xmlns:for="http://xml.apache.org/forrest" width="220" height="65" >
  -  <title>Anteater logo</title>
  -
  -  <defs>
  -
  -    <!--
  -    <radialGradient id="radialGradient">
  -      <stop style="stop-color:gold" offset="0"/>
  -      <stop style="stop-color:orange" offset=".5"/>
  -      <stop style="stop-color:crimson" offset="1"/>
  -    </radialGradient>
  -    <linearGradient id="linearGradient">
  -      <stop style="stop-color:gold" offset="0"/>
  -      <stop style="stop-color:orange" offset=".5"/>
  -      <stop style="stop-color:crimson" offset="1"/>
  -    </linearGradient>
  -    -->
  -
  -    <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
  -      <stop style="stop-color:white" offset="0"/>
  -      <stop style="stop-color:lightgreen" offset="1"/>
  -    </linearGradient>
  -
  -    <filter id="shadowFilter"  filterUnits="objectBoundingBox">
  -      <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
  -      <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
  -      <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
  -      <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
  -      <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
  -      former 'over' the latter, and using the merged result as the finished
  -      image -->
  -      <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
  -    </filter>
  -
  -  </defs>
  -
  -  <g filter="url(#shadowFilter)" fill="url(#gradient)">
  -    <text x="40%" y="60%" style="font-size:24pt; font-family:Verdana ; text-anchor: middle">
  -    <for:group-name />
  -    </text>
  -  </g>
  -</svg>
  -
  -
  +<?xml version="1.0" standalone="no"?>
  +
  +<!--
  +       SVG Anteater logo
  +        jefft@apache.org
  +
  +To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
  +xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
  +SVG spec (http://www.w3.org/TR/SVG/) as a reference.
  +-->
  +
  +<!--
  +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  +"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
  +-->
  +<svg xmlns="http://www.w3.org/2000/svg"
  +     xmlns:xlink="http://www.w3.org/1999/xlink"
  +     xmlns:for="http://xml.apache.org/forrest" width="220" height="65" >
  +  <title>Anteater logo</title>
  +
  +  <defs>
  +
  +    <!--
  +    <radialGradient id="radialGradient">
  +      <stop style="stop-color:gold" offset="0"/>
  +      <stop style="stop-color:orange" offset=".5"/>
  +      <stop style="stop-color:crimson" offset="1"/>
  +    </radialGradient>
  +    <linearGradient id="linearGradient">
  +      <stop style="stop-color:gold" offset="0"/>
  +      <stop style="stop-color:orange" offset=".5"/>
  +      <stop style="stop-color:crimson" offset="1"/>
  +    </linearGradient>
  +    -->
  +
  +    <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
  +      <stop style="stop-color:white" offset="0"/>
  +      <stop style="stop-color:lightgreen" offset="1"/>
  +    </linearGradient>
  +
  +    <filter id="shadowFilter"  filterUnits="objectBoundingBox">
  +      <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
  +      <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
  +      <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
  +      <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
  +      <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
  +      former 'over' the latter, and using the merged result as the finished
  +      image -->
  +      <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
  +    </filter>
  +
  +  </defs>
  +
  +  <g filter="url(#shadowFilter)" fill="url(#gradient)">
  +    <text x="40%" y="60%" style="font-size:24pt; font-family:Verdana ; text-anchor: middle">
  +    <for:group-name />
  +    </text>
  +  </g>
  +</svg>
  
  
  
  1.2       +59 -61    xml-forrest/src/core/fresh-site/src/documentation/content/xdocs/images/project.svg
  
  Index: project.svg
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/core/fresh-site/src/documentation/content/xdocs/images/project.svg,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.svg	20 Oct 2003 15:38:36 -0000	1.1
  +++ project.svg	11 Dec 2003 05:14:51 -0000	1.2
  @@ -1,61 +1,59 @@
  -<?xml version="1.0" standalone="no"?>
  -
  -<!--
  -       SVG Anteater logo
  -        jefft@apache.org
  -
  -To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
  -xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
  -SVG spec (http://www.w3.org/TR/SVG/) as a reference.
  --->
  -
  -<!--
  -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  -"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
  --->
  -<svg xmlns="http://www.w3.org/2000/svg"
  -     xmlns:xlink="http://www.w3.org/1999/xlink"
  -     xmlns:for="http://xml.apache.org/forrest" width="220" height="65" >
  -  <title>Anteater logo</title>
  -
  -  <defs>
  -
  -    <!--
  -    <radialGradient id="radialGradient">
  -      <stop style="stop-color:gold" offset="0"/>
  -      <stop style="stop-color:orange" offset=".5"/>
  -      <stop style="stop-color:crimson" offset="1"/>
  -    </radialGradient>
  -    <linearGradient id="linearGradient">
  -      <stop style="stop-color:gold" offset="0"/>
  -      <stop style="stop-color:orange" offset=".5"/>
  -      <stop style="stop-color:crimson" offset="1"/>
  -    </linearGradient>
  -    -->
  -
  -    <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
  -      <stop style="stop-color:white" offset="0"/>
  -      <stop style="stop-color:lightgreen" offset="1"/>
  -    </linearGradient>
  -
  -    <filter id="shadowFilter"  filterUnits="objectBoundingBox">
  -      <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
  -      <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
  -      <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
  -      <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
  -      <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
  -      former 'over' the latter, and using the merged result as the finished
  -      image -->
  -      <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
  -    </filter>
  -
  -  </defs>
  -
  -  <g filter="url(#shadowFilter)" fill="url(#gradient)">
  -    <text x="51%" y="75%" style="font-size:32pt; font-family:Verdana ; text-anchor: middle" >
  -    <for:project-name />
  -    </text>
  -  </g>
  -</svg>
  -
  -
  +<?xml version="1.0" standalone="no"?>
  +
  +<!--
  +       SVG Anteater logo
  +        jefft@apache.org
  +
  +To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
  +xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
  +SVG spec (http://www.w3.org/TR/SVG/) as a reference.
  +-->
  +
  +<!--
  +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  +"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
  +-->
  +<svg xmlns="http://www.w3.org/2000/svg"
  +     xmlns:xlink="http://www.w3.org/1999/xlink"
  +     xmlns:for="http://xml.apache.org/forrest" width="220" height="65" >
  +  <title>Anteater logo</title>
  +
  +  <defs>
  +
  +    <!--
  +    <radialGradient id="radialGradient">
  +      <stop style="stop-color:gold" offset="0"/>
  +      <stop style="stop-color:orange" offset=".5"/>
  +      <stop style="stop-color:crimson" offset="1"/>
  +    </radialGradient>
  +    <linearGradient id="linearGradient">
  +      <stop style="stop-color:gold" offset="0"/>
  +      <stop style="stop-color:orange" offset=".5"/>
  +      <stop style="stop-color:crimson" offset="1"/>
  +    </linearGradient>
  +    -->
  +
  +    <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
  +      <stop style="stop-color:white" offset="0"/>
  +      <stop style="stop-color:lightgreen" offset="1"/>
  +    </linearGradient>
  +
  +    <filter id="shadowFilter"  filterUnits="objectBoundingBox">
  +      <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
  +      <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
  +      <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
  +      <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
  +      <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
  +      former 'over' the latter, and using the merged result as the finished
  +      image -->
  +      <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
  +    </filter>
  +
  +  </defs>
  +
  +  <g filter="url(#shadowFilter)" fill="url(#gradient)">
  +    <text x="51%" y="75%" style="font-size:32pt; font-family:Verdana ; text-anchor: middle" >
  +    <for:project-name />
  +    </text>
  +  </g>
  +</svg>
  
  
  
  1.3       +1 -1      xml-forrest/src/java/org/apache/cocoon/components/modules/input/lm/LocationNode.java
  
  Index: LocationNode.java
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/java/org/apache/cocoon/components/modules/input/lm/LocationNode.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LocationNode.java	22 Oct 2003 16:55:07 -0000	1.2
  +++ LocationNode.java	11 Dec 2003 05:14:51 -0000	1.3
  @@ -83,7 +83,7 @@
               m_src = VariableResolverFactory.getResolver(
                   configuration.getAttribute("src"),super.m_manager);
           } catch (PatternException e) {
  -            final String message = "Illegal pattern syntax at for location attribute 'src' " +
                "at " + configuration.getLocation();
  +            final String message = "Illegal pattern syntax at for location attribute 'src' " +                "at " + configuration.getLocation();
               throw new ConfigurationException(message,e);
           }
   
  
  
  
  1.3       +1 -1      xml-forrest/src/java/org/apache/cocoon/components/modules/input/lm/LocatorNode.java
  
  Index: LocatorNode.java
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/java/org/apache/cocoon/components/modules/input/lm/LocatorNode.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LocatorNode.java	22 Oct 2003 16:56:05 -0000	1.2
  +++ LocatorNode.java	11 Dec 2003 05:14:51 -0000	1.3
  @@ -90,7 +90,7 @@
           try {
               m_baseLocation = VariableResolverFactory.getResolver(base,super.m_manager);
           } catch (PatternException e) {
  -            final String message = "Illegal pattern syntax for locator attribute 'base' " +
                "at " + configuration.getLocation(); 
  +            final String message = "Illegal pattern syntax for locator attribute 'base' " +                "at " + configuration.getLocation(); 
               throw new ConfigurationException(message);
           }
           final Configuration[] children = configuration.getChildren();
  
  
  
  1.2       +89 -89    xml-forrest/tools/dtdconverters/dtdx.dtd
  
  Index: dtdx.dtd
  ===================================================================
  RCS file: /home/cvs/xml-forrest/tools/dtdconverters/dtdx.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dtdx.dtd	10 Aug 2003 12:45:45 -0000	1.1
  +++ dtdx.dtd	11 Dec 2003 05:14:52 -0000	1.2
  @@ -1,89 +1,89 @@
  -<!-- $Id$ -->
  -<!ENTITY % entities 'internalEntityDecl|externalEntityDecl|unparsedEntityDecl'>
  -<!ENTITY % decls 'elementDecl|contentModel|attlist|notationDecl|%entities;'>
  -<!ENTITY % markup 'comment|processingInstruction|%decls;'>
  -<!ENTITY % cmodel 'any|empty|group'>
  -
  -<!ENTITY % uri 'CDATA'>
  -<!ENTITY % pubid 'CDATA'>
  -<!ENTITY % boolean '(true|false)'>
  -<!ENTITY % token 'NMTOKEN'>
  -<!ENTITY % string 'CDATA'>
  -<!ENTITY % septype 'CDATA'> <!-- values: { ',' or '|' } -->
  -<!ENTITY % occurtype 'CDATA'> <!-- values: { '?' or '*' or '+' } -->
  -
  -<!ELEMENT dtd ((parameterEntity|%markup;)*,externalSubset?)>
  -<!ATTLIST dtd sysid %uri; #IMPLIED>
  -
  -<!ELEMENT externalSubset (parameterEntity|%markup;)*>
  -<!ATTLIST externalSubset sysid %uri; #IMPLIED>
  -
  -<!ELEMENT internalEntityDecl EMPTY>
  -<!ATTLIST internalEntityDecl name  %token;  #REQUIRED
  -                             value %string; #REQUIRED>
  -<!ELEMENT externalEntityDecl EMPTY>
  -<!ATTLIST externalEntityDecl name  %token; #REQUIRED
  -                             pubid %pubid; #IMPLIED
  -                             sysid %uri;   #REQUIRED>
  -<!ELEMENT unparsedEntityDecl EMPTY>
  -<!ATTLIST unparsedEntityDecl name     %token; #REQUIRED
  -                             pubid    %pubid; #IMPLIED
  -                             sysid    %uri;   #IMPLIED
  -                             notation %token; #REQUIRED>
  -
  -<!ELEMENT elementDecl EMPTY>
  -<!ATTLIST elementDecl ename   %token;  #REQUIRED
  -                      content %string; #REQUIRED>
  -
  -<!ELEMENT contentModel (parameterEntity|%cmodel;)>
  -
  -<!ELEMENT any EMPTY/>
  -
  -<!ELEMENT empty EMPTY/>
  -
  -<!ELEMENT group ((parameterEntity|(pcdata,separator))?,(parameterEntity|group|element|separator|occurrence)*>
  -
  -<!ELEMENT pcdata EMPTY>
  -
  -<!ELEMENT element EMPTY>
  -<!ATTLIST element name %token; #REQUIRED>
  -
  -<!ELEMENT separator EMPTY>
  -<!ATTLIST separator type %septype; #REQUIRED>
  -
  -<!ELEMENT occurrence EMPTY>
  -<!ATTLIST occurrence type %occurtype; #IMPLIED>
  -
  -<!ELEMENT attlist (parameterEntity|attributeDecl)+>
  -<!ATTLIST attlist ename %token; #REQUIRED>
  -
  -<!ELEMENT attributeDecl (parameterEntity|enumeration)*>
  -<!ATTLIST attributeDecl ename    %token;   #REQUIRED
  -                        aname    %token;   #REQUIRED
  -                        atype    %string;  #REQUIRED
  -                        required %boolean; #IMPLIED
  -                        fixed    %boolean; #IMPLIED
  -                        default  %string;  #IMPLIED>
  -
  -<!ELEMENT enumeration EMPTY>
  -<!ATTLIST enumeration value %string; #REQUIRED>
  -
  -<!ELEMENT notationDecl EMPTY>
  -<!ATTLIST notationDecl name  %token; #REQUIRED
  -                       pubid %pubid; #IMPLIED
  -                       sysid %uri;   #REQUIRED>
  -
  -<!ELEMENT parameterEntity ANY>
  -<!ATTLIST parameterEntity name  %token; #REQUIRED
  -                          pubid %pubid; #IMPLIED
  -                          sysid %uri;   #REQUIRED>
  -
  -<!ELEMENT textDecl EMPTY>
  -<!ATTLIST textDecl version  %string; #IMPLIED
  -                   encoding %string; #REQUIRED>
  -
  -<!ELEMENT comment (#PCDATA)>
  -
  -<!ELEMENT processingInstruction EMPTY>
  -<!ATTLIST processingInstruction target %token;  #REQUIRED
  -                                data   %string; #IMPLIED>
  \ No newline at end of file
  +<!-- $Id$ -->
  +<!ENTITY % entities 'internalEntityDecl|externalEntityDecl|unparsedEntityDecl'>
  +<!ENTITY % decls 'elementDecl|contentModel|attlist|notationDecl|%entities;'>
  +<!ENTITY % markup 'comment|processingInstruction|%decls;'>
  +<!ENTITY % cmodel 'any|empty|group'>
  +
  +<!ENTITY % uri 'CDATA'>
  +<!ENTITY % pubid 'CDATA'>
  +<!ENTITY % boolean '(true|false)'>
  +<!ENTITY % token 'NMTOKEN'>
  +<!ENTITY % string 'CDATA'>
  +<!ENTITY % septype 'CDATA'> <!-- values: { ',' or '|' } -->
  +<!ENTITY % occurtype 'CDATA'> <!-- values: { '?' or '*' or '+' } -->
  +
  +<!ELEMENT dtd ((parameterEntity|%markup;)*,externalSubset?)>
  +<!ATTLIST dtd sysid %uri; #IMPLIED>
  +
  +<!ELEMENT externalSubset (parameterEntity|%markup;)*>
  +<!ATTLIST externalSubset sysid %uri; #IMPLIED>
  +
  +<!ELEMENT internalEntityDecl EMPTY>
  +<!ATTLIST internalEntityDecl name  %token;  #REQUIRED
  +                             value %string; #REQUIRED>
  +<!ELEMENT externalEntityDecl EMPTY>
  +<!ATTLIST externalEntityDecl name  %token; #REQUIRED
  +                             pubid %pubid; #IMPLIED
  +                             sysid %uri;   #REQUIRED>
  +<!ELEMENT unparsedEntityDecl EMPTY>
  +<!ATTLIST unparsedEntityDecl name     %token; #REQUIRED
  +                             pubid    %pubid; #IMPLIED
  +                             sysid    %uri;   #IMPLIED
  +                             notation %token; #REQUIRED>
  +
  +<!ELEMENT elementDecl EMPTY>
  +<!ATTLIST elementDecl ename   %token;  #REQUIRED
  +                      content %string; #REQUIRED>
  +
  +<!ELEMENT contentModel (parameterEntity|%cmodel;)>
  +
  +<!ELEMENT any EMPTY/>
  +
  +<!ELEMENT empty EMPTY/>
  +
  +<!ELEMENT group ((parameterEntity|(pcdata,separator))?,(parameterEntity|group|element|separator|occurrence)*>
  +
  +<!ELEMENT pcdata EMPTY>
  +
  +<!ELEMENT element EMPTY>
  +<!ATTLIST element name %token; #REQUIRED>
  +
  +<!ELEMENT separator EMPTY>
  +<!ATTLIST separator type %septype; #REQUIRED>
  +
  +<!ELEMENT occurrence EMPTY>
  +<!ATTLIST occurrence type %occurtype; #IMPLIED>
  +
  +<!ELEMENT attlist (parameterEntity|attributeDecl)+>
  +<!ATTLIST attlist ename %token; #REQUIRED>
  +
  +<!ELEMENT attributeDecl (parameterEntity|enumeration)*>
  +<!ATTLIST attributeDecl ename    %token;   #REQUIRED
  +                        aname    %token;   #REQUIRED
  +                        atype    %string;  #REQUIRED
  +                        required %boolean; #IMPLIED
  +                        fixed    %boolean; #IMPLIED
  +                        default  %string;  #IMPLIED>
  +
  +<!ELEMENT enumeration EMPTY>
  +<!ATTLIST enumeration value %string; #REQUIRED>
  +
  +<!ELEMENT notationDecl EMPTY>
  +<!ATTLIST notationDecl name  %token; #REQUIRED
  +                       pubid %pubid; #IMPLIED
  +                       sysid %uri;   #REQUIRED>
  +
  +<!ELEMENT parameterEntity ANY>
  +<!ATTLIST parameterEntity name  %token; #REQUIRED
  +                          pubid %pubid; #IMPLIED
  +                          sysid %uri;   #REQUIRED>
  +
  +<!ELEMENT textDecl EMPTY>
  +<!ATTLIST textDecl version  %string; #IMPLIED
  +                   encoding %string; #REQUIRED>
  +
  +<!ELEMENT comment (#PCDATA)>
  +
  +<!ELEMENT processingInstruction EMPTY>
  +<!ATTLIST processingInstruction target %token;  #REQUIRED
  +                                data   %string; #IMPLIED>
  
  
  
  1.2       +211 -211  xml-forrest/tools/dtdconverters/dtdx2dtd.xsl
  
  Index: dtdx2dtd.xsl
  ===================================================================
  RCS file: /home/cvs/xml-forrest/tools/dtdconverters/dtdx2dtd.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dtdx2dtd.xsl	10 Aug 2003 12:45:45 -0000	1.1
  +++ dtdx2dtd.xsl	11 Dec 2003 05:14:52 -0000	1.2
  @@ -1,211 +1,211 @@
  -<!-- $Id$ -->
  -<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
  -
  - <xsl:output method='text'/>
  -
  - <xsl:template match='/dtd'>
  -  <xsl:if test='@sysid'>
  -   <xsl:comment>Generated from <xsl:value-of select='@sysid'/></xsl:comment>
  -  <xsl:text>
  -</xsl:text>
  -  </xsl:if>
  -  <xsl:apply-templates/>
  - </xsl:template>
  -
  - <xsl:template match='elementDecl'>
  -  <xsl:text>&lt;!ELEMENT </xsl:text>
  -  <xsl:value-of select='@ename'/>
  -  <xsl:text> </xsl:text>
  -  <xsl:value-of select='@model'/>
  -  <xsl:text>&gt;
  -</xsl:text>
  - </xsl:template>
  -
  - <xsl:template match='attlist'>
  -  <xsl:text>&lt;!ATTLIST </xsl:text>
  -  <xsl:value-of select='@ename'/>
  -  <xsl:text> </xsl:text>
  -  <xsl:for-each select='.//attributeDecl'>
  -   <xsl:if test='position()&gt;1'>
  -    <xsl:text>
  -</xsl:text>
  -    <xsl:call-template name='indent'>
  -     <xsl:with-param name='length'><xsl:value-of select='11+string-length(@ename)'/></xsl:with-param>
  -    </xsl:call-template>
  -   </xsl:if>
  -   <xsl:apply-templates select='.'/>
  -  </xsl:for-each>
  -  <xsl:text>&gt;
  -</xsl:text>
  - </xsl:template>
  -
  - <xsl:template match='attributeDecl'>
  -  <xsl:value-of select='@aname'/>
  -  <xsl:text> </xsl:text>
  -  <xsl:value-of select='@atype'/>
  -  <xsl:if test='@atype="NOTATION"'>
  -   <xsl:text> (</xsl:text>
  -   <xsl:for-each select='enumeration'>
  -    <xsl:if test='position()&gt;1'>|</xsl:if>
  -    <xsl:value-of select='@value'/>
  -   </xsl:for-each>
  -   <xsl:text>)</xsl:text>
  -  </xsl:if>
  -  <xsl:choose>
  -   <xsl:when test='@required'> #REQUIRED</xsl:when>
  -   <xsl:when test='@fixed'> #FIXED</xsl:when>
  -   <xsl:when test='not(@default)'> #IMPLIED</xsl:when>
  -  </xsl:choose>
  -  <xsl:if test='@default'>
  -   <xsl:text> "</xsl:text>
  -   <xsl:call-template name='escape'>
  -    <xsl:with-param name='s'><xsl:value-of select='@default'/></xsl:with-param>
  -   </xsl:call-template>
  -   <xsl:text>"</xsl:text>
  -  </xsl:if>
  - </xsl:template>
  -
  - <xsl:template match='internalEntityDecl[not(contains(@name,"%"))]'>
  -  <xsl:text>&lt;!ENTITY </xsl:text>
  -  <xsl:value-of select='@name'/>
  -  <xsl:text> "</xsl:text>
  -  <xsl:call-template name='escape'>
  -   <xsl:with-param name='s'>
  -    <xsl:call-template name='escape'>
  -     <xsl:with-param name='s'><xsl:value-of select='@value'/></xsl:with-param>
  -    </xsl:call-template>
  -   </xsl:with-param>
  -   <xsl:with-param name='c'>%</xsl:with-param>
  -   <xsl:with-param name='C'>&amp;#37;</xsl:with-param>
  -  </xsl:call-template>
  -  <xsl:text>"&gt;
  -</xsl:text>
  - </xsl:template>
  -
  - <xsl:template match='externalEntityDecl[not(contains(@name,"%"))]'>
  -  <xsl:text>&lt;!ENTITY </xsl:text>
  -  <xsl:value-of select='@name'/>
  -  <xsl:choose>
  -   <xsl:when test='@pubid'>
  -    <xsl:text> PUBLIC "</xsl:text>
  -    <xsl:value-of select='@pubid'/>
  -    <xsl:text>"</xsl:text>
  -   </xsl:when>
  -   <xsl:otherwise> SYSTEM</xsl:otherwise>
  -  </xsl:choose>
  -  <xsl:text> "</xsl:text>
  -  <xsl:value-of select='@sysid'/>
  -  <xsl:text>"&gt;
  -</xsl:text>
  - </xsl:template>
  -
  - <xsl:template match='unparsedEntityDecl'>
  -  <xsl:text>&lt;!ENTITY </xsl:text>
  -  <xsl:value-of select='@name'/>
  -  <xsl:choose>
  -   <xsl:when test='@pubid'>
  -    <xsl:text> PUBLIC "</xsl:text>
  -    <xsl:value-of select='@pubid'/>
  -    <xsl:text>"</xsl:text>
  -   </xsl:when>
  -   <xsl:otherwise> SYSTEM</xsl:otherwise>
  -  </xsl:choose>
  -  <xsl:if test='@sysid'>
  -   <xsl:text> "</xsl:text>
  -   <xsl:value-of select='@sysid'/>
  -   <xsl:text>"</xsl:text>
  -  </xsl:if>
  -  <xsl:text> NDATA </xsl:text>
  -  <xsl:value-of select='@notation'/>
  -  <xsl:text>&gt;
  -</xsl:text>
  - </xsl:template>
  -
  - <xsl:template match='notationDecl'>
  -  <xsl:text>&lt;!NOTATION </xsl:text>
  -  <xsl:value-of select='@name'/>
  -  <xsl:choose>
  -   <xsl:when test='@pubid'>
  -    <xsl:text> PUBLIC "</xsl:text>
  -    <xsl:value-of select='@pubid'/>
  -    <xsl:text>"</xsl:text>
  -   </xsl:when>
  -   <xsl:otherwise> SYSTEM</xsl:otherwise>
  -  </xsl:choose>
  -  <xsl:if test='@sysid'>
  -   <xsl:text> "</xsl:text>
  -   <xsl:value-of select='@sysid'/>
  -   <xsl:text>"</xsl:text>
  -  </xsl:if>
  -  <xsl:text>&gt;
  -</xsl:text>
  - </xsl:template>
  -
  - <xsl:template match='conditional'>
  -  <xsl:text>&lt;![</xsl:text>
  -  <xsl:value-of select='@type'/>
  -  <xsl:text>[</xsl:text>
  -  <xsl:if test='@type="INCLUDE"'>
  -   <xsl:text>
  -</xsl:text>
  -  </xsl:if>
  -  <xsl:apply-templates/>
  -  <xsl:text>]]&gt;
  -</xsl:text>
  - </xsl:template>
  -
  - <xsl:template match='ignoredCharacters'>
  -  <xsl:value-of select='text()'/>
  - </xsl:template>
  -
  - <xsl:template match='comment'>
  -  <xsl:text>&lt;!--</xsl:text>
  -  <xsl:value-of select='text()'/>
  -  <xsl:text>--&gt;
  -</xsl:text>
  - </xsl:template>
  -
  - <xsl:template match='processingInstruction'>
  -  <xsl:text>&lt;?</xsl:text>
  -  <xsl:value-of select='@target'/>
  -  <xsl:if test='@data'>
  -   <xsl:text> </xsl:text>
  -   <xsl:value-of select='@data'/>
  -  </xsl:if>
  -  <xsl:text>?&gt;
  -</xsl:text>
  - </xsl:template>
  -
  - <xsl:template name='indent'>
  -  <xsl:param name='length'>0</xsl:param>
  -  <xsl:if test='$length&gt;0'>
  -   <xsl:text> </xsl:text>
  -   <xsl:call-template name='indent'>
  -    <xsl:with-param name='length'><xsl:value-of select='number($length)-1'/></xsl:with-param>
  -   </xsl:call-template>
  -  </xsl:if>
  - </xsl:template>
  -
  - <xsl:template name='escape'>
  -  <xsl:param name='s'/>
  -  <xsl:param name='c'>"</xsl:param>
  -  <xsl:param name='C'>&amp;#34;</xsl:param>
  -  <xsl:if test='string-length($s)&gt;0'>
  -   <xsl:choose>
  -    <xsl:when test='contains($s,$c)'>
  -     <xsl:value-of select='substring-before($s,$c)'/>
  -     <xsl:value-of select='$C'/>
  -     <xsl:call-template name='escape'>
  -      <xsl:with-param name='s'>
  -       <xsl:value-of select='substring(substring-after($s,$c),2)'/>
  -      </xsl:with-param>
  -     </xsl:call-template>
  -    </xsl:when>
  -    <xsl:otherwise>
  -     <xsl:value-of select='$s'/>
  -    </xsl:otherwise>
  -   </xsl:choose>
  -  </xsl:if>
  - </xsl:template>
  -
  -</xsl:stylesheet>
  \ No newline at end of file
  +<!-- $Id$ -->
  +<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
  +
  + <xsl:output method='text'/>
  +
  + <xsl:template match='/dtd'>
  +  <xsl:if test='@sysid'>
  +   <xsl:comment>Generated from <xsl:value-of select='@sysid'/></xsl:comment>
  +  <xsl:text>
  +</xsl:text>
  +  </xsl:if>
  +  <xsl:apply-templates/>
  + </xsl:template>
  +
  + <xsl:template match='elementDecl'>
  +  <xsl:text>&lt;!ELEMENT </xsl:text>
  +  <xsl:value-of select='@ename'/>
  +  <xsl:text> </xsl:text>
  +  <xsl:value-of select='@model'/>
  +  <xsl:text>&gt;
  +</xsl:text>
  + </xsl:template>
  +
  + <xsl:template match='attlist'>
  +  <xsl:text>&lt;!ATTLIST </xsl:text>
  +  <xsl:value-of select='@ename'/>
  +  <xsl:text> </xsl:text>
  +  <xsl:for-each select='.//attributeDecl'>
  +   <xsl:if test='position()&gt;1'>
  +    <xsl:text>
  +</xsl:text>
  +    <xsl:call-template name='indent'>
  +     <xsl:with-param name='length'><xsl:value-of select='11+string-length(@ename)'/></xsl:with-param>
  +    </xsl:call-template>
  +   </xsl:if>
  +   <xsl:apply-templates select='.'/>
  +  </xsl:for-each>
  +  <xsl:text>&gt;
  +</xsl:text>
  + </xsl:template>
  +
  + <xsl:template match='attributeDecl'>
  +  <xsl:value-of select='@aname'/>
  +  <xsl:text> </xsl:text>
  +  <xsl:value-of select='@atype'/>
  +  <xsl:if test='@atype="NOTATION"'>
  +   <xsl:text> (</xsl:text>
  +   <xsl:for-each select='enumeration'>
  +    <xsl:if test='position()&gt;1'>|</xsl:if>
  +    <xsl:value-of select='@value'/>
  +   </xsl:for-each>
  +   <xsl:text>)</xsl:text>
  +  </xsl:if>
  +  <xsl:choose>
  +   <xsl:when test='@required'> #REQUIRED</xsl:when>
  +   <xsl:when test='@fixed'> #FIXED</xsl:when>
  +   <xsl:when test='not(@default)'> #IMPLIED</xsl:when>
  +  </xsl:choose>
  +  <xsl:if test='@default'>
  +   <xsl:text> "</xsl:text>
  +   <xsl:call-template name='escape'>
  +    <xsl:with-param name='s'><xsl:value-of select='@default'/></xsl:with-param>
  +   </xsl:call-template>
  +   <xsl:text>"</xsl:text>
  +  </xsl:if>
  + </xsl:template>
  +
  + <xsl:template match='internalEntityDecl[not(contains(@name,"%"))]'>
  +  <xsl:text>&lt;!ENTITY </xsl:text>
  +  <xsl:value-of select='@name'/>
  +  <xsl:text> "</xsl:text>
  +  <xsl:call-template name='escape'>
  +   <xsl:with-param name='s'>
  +    <xsl:call-template name='escape'>
  +     <xsl:with-param name='s'><xsl:value-of select='@value'/></xsl:with-param>
  +    </xsl:call-template>
  +   </xsl:with-param>
  +   <xsl:with-param name='c'>%</xsl:with-param>
  +   <xsl:with-param name='C'>&amp;#37;</xsl:with-param>
  +  </xsl:call-template>
  +  <xsl:text>"&gt;
  +</xsl:text>
  + </xsl:template>
  +
  + <xsl:template match='externalEntityDecl[not(contains(@name,"%"))]'>
  +  <xsl:text>&lt;!ENTITY </xsl:text>
  +  <xsl:value-of select='@name'/>
  +  <xsl:choose>
  +   <xsl:when test='@pubid'>
  +    <xsl:text> PUBLIC "</xsl:text>
  +    <xsl:value-of select='@pubid'/>
  +    <xsl:text>"</xsl:text>
  +   </xsl:when>
  +   <xsl:otherwise> SYSTEM</xsl:otherwise>
  +  </xsl:choose>
  +  <xsl:text> "</xsl:text>
  +  <xsl:value-of select='@sysid'/>
  +  <xsl:text>"&gt;
  +</xsl:text>
  + </xsl:template>
  +
  + <xsl:template match='unparsedEntityDecl'>
  +  <xsl:text>&lt;!ENTITY </xsl:text>
  +  <xsl:value-of select='@name'/>
  +  <xsl:choose>
  +   <xsl:when test='@pubid'>
  +    <xsl:text> PUBLIC "</xsl:text>
  +    <xsl:value-of select='@pubid'/>
  +    <xsl:text>"</xsl:text>
  +   </xsl:when>
  +   <xsl:otherwise> SYSTEM</xsl:otherwise>
  +  </xsl:choose>
  +  <xsl:if test='@sysid'>
  +   <xsl:text> "</xsl:text>
  +   <xsl:value-of select='@sysid'/>
  +   <xsl:text>"</xsl:text>
  +  </xsl:if>
  +  <xsl:text> NDATA </xsl:text>
  +  <xsl:value-of select='@notation'/>
  +  <xsl:text>&gt;
  +</xsl:text>
  + </xsl:template>
  +
  + <xsl:template match='notationDecl'>
  +  <xsl:text>&lt;!NOTATION </xsl:text>
  +  <xsl:value-of select='@name'/>
  +  <xsl:choose>
  +   <xsl:when test='@pubid'>
  +    <xsl:text> PUBLIC "</xsl:text>
  +    <xsl:value-of select='@pubid'/>
  +    <xsl:text>"</xsl:text>
  +   </xsl:when>
  +   <xsl:otherwise> SYSTEM</xsl:otherwise>
  +  </xsl:choose>
  +  <xsl:if test='@sysid'>
  +   <xsl:text> "</xsl:text>
  +   <xsl:value-of select='@sysid'/>
  +   <xsl:text>"</xsl:text>
  +  </xsl:if>
  +  <xsl:text>&gt;
  +</xsl:text>
  + </xsl:template>
  +
  + <xsl:template match='conditional'>
  +  <xsl:text>&lt;![</xsl:text>
  +  <xsl:value-of select='@type'/>
  +  <xsl:text>[</xsl:text>
  +  <xsl:if test='@type="INCLUDE"'>
  +   <xsl:text>
  +</xsl:text>
  +  </xsl:if>
  +  <xsl:apply-templates/>
  +  <xsl:text>]]&gt;
  +</xsl:text>
  + </xsl:template>
  +
  + <xsl:template match='ignoredCharacters'>
  +  <xsl:value-of select='text()'/>
  + </xsl:template>
  +
  + <xsl:template match='comment'>
  +  <xsl:text>&lt;!--</xsl:text>
  +  <xsl:value-of select='text()'/>
  +  <xsl:text>--&gt;
  +</xsl:text>
  + </xsl:template>
  +
  + <xsl:template match='processingInstruction'>
  +  <xsl:text>&lt;?</xsl:text>
  +  <xsl:value-of select='@target'/>
  +  <xsl:if test='@data'>
  +   <xsl:text> </xsl:text>
  +   <xsl:value-of select='@data'/>
  +  </xsl:if>
  +  <xsl:text>?&gt;
  +</xsl:text>
  + </xsl:template>
  +
  + <xsl:template name='indent'>
  +  <xsl:param name='length'>0</xsl:param>
  +  <xsl:if test='$length&gt;0'>
  +   <xsl:text> </xsl:text>
  +   <xsl:call-template name='indent'>
  +    <xsl:with-param name='length'><xsl:value-of select='number($length)-1'/></xsl:with-param>
  +   </xsl:call-template>
  +  </xsl:if>
  + </xsl:template>
  +
  + <xsl:template name='escape'>
  +  <xsl:param name='s'/>
  +  <xsl:param name='c'>"</xsl:param>
  +  <xsl:param name='C'>&amp;#34;</xsl:param>
  +  <xsl:if test='string-length($s)&gt;0'>
  +   <xsl:choose>
  +    <xsl:when test='contains($s,$c)'>
  +     <xsl:value-of select='substring-before($s,$c)'/>
  +     <xsl:value-of select='$C'/>
  +     <xsl:call-template name='escape'>
  +      <xsl:with-param name='s'>
  +       <xsl:value-of select='substring(substring-after($s,$c),2)'/>
  +      </xsl:with-param>
  +     </xsl:call-template>
  +    </xsl:when>
  +    <xsl:otherwise>
  +     <xsl:value-of select='$s'/>
  +    </xsl:otherwise>
  +   </xsl:choose>
  +  </xsl:if>
  + </xsl:template>
  +
  +</xsl:stylesheet>