You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by st...@apache.org on 2002/05/19 20:56:42 UTC

cvs commit: xml-forrest/src/resources/schema/dtd document-v11.mod faq-v11.mod howto-v10.dtd document-v11.dtd faq-v11.dtd

stevenn     02/05/19 11:56:42

  Modified:    src/documentation/content/xdocs book.xml
               src/resources/schema catalog
               src/resources/schema/dtd document-v11.dtd faq-v11.dtd
  Added:       src/documentation/content/xdocs howto-v10.xml
               src/resources/schema/dtd document-v11.mod faq-v11.mod
                        howto-v10.dtd
  Log:
  start of refactoring DTD modularity and addition of howto-v10.dtd due to shannon@apache.org
  
  Revision  Changes    Path
  1.7       +1 -0      xml-forrest/src/documentation/content/xdocs/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/documentation/content/xdocs/book.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- book.xml	12 May 2002 07:36:26 -0000	1.6
  +++ book.xml	19 May 2002 18:56:41 -0000	1.7
  @@ -29,6 +29,7 @@
   
     <menu label="Document Samples">
       <menu-item label="document-v11" href="document-v11.html"/>
  +    <menu-item label="howto-v10" href="howto-v10.html"/>
     </menu>
   
   </book>
  
  
  
  1.1                  xml-forrest/src/documentation/content/xdocs/howto-v10.xml
  
  Index: howto-v10.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE howto PUBLIC "-//APACHE//DTD How-to V1.0//EN" "howto-v10.dtd">
  
  <howto>
   <header>
    <title>How to Author a How-To</title>
    <subtitle/>
    <version>0.2</version>
    <authors>
     <person name="Diana Shannon" email="shannon@apache.org"/>
    </authors>
    <notice>This document is a sample to test the new howto-v11.dtd</notice>
    <abstract>This How-To describes the steps necessary to write a How-To for Cocoon. The Cocoon documentation project needs your help. Writing a Cocoon How-To is a valuable way to give back to the community.</abstract>
    <last-modified-content-date date="2002-05-19"/>
   </header>
  
  
    <audience title="Intended Audience">
  <p>
  Cocoon users who are ready to share their knowledge and experiences with the larger Cocoon community.
  </p>
    </audience>
    
    <purpose title="Purpose">
  <p>
  These guidelines are based on successful how-to document structures used by other open source projects with diverse author groups. Following these tried and true guidelines will help to insure the effectiveness of your work.
  </p>
    </purpose>
  
  
    <prerequisites title="Prerequisites">
  <p>
  How-To authors should have:
  </p>
  <ul>
  <li>A unique How-To topic, related to using Cocoon, which fulfills a specific need. Check out <link href="index.html">existing How-Tos</link> to find a niche for your work. Consider posting your idea for the How-To to cocoon-user list, to make sure another author's draft is not already in process.</li>
  <li>A sufficient ability in English to write the FAQ. If you need a little extra help with language, consider partnering with another user with more advanced English writing skills.</li>
  <li>Currently, the Cocoon documentation project is still working out the exact details for a How-To dtd and template. For now, just edit the most recent version of any existing How-To, filling in your own content as necessary. Make sure you use most recent version of document dtd to validate your How-To before submitting. You will find it in <code>src/documentation/xdocs/dtd</code> in your cocoon distribution.</li>
  </ul>
  <note>Within Forrest, the dtd is located in <code>src/resources/schema/dtd</code>.</note></prerequisites>
  
    <steps title="Steps">
  <p>
  Here's how to proceed.</p>
  
    <section title="Write the Overview">
  <p>
  An overview helps potential readers to determine quickly if a particular How-To matches their interests or needs. In a few sentences, summarize the main points of your How-To. Make sure to include any critical definitions which will help readers evaluate the utility of your How-To. Consider writing the overview last, after you have completed all other sections.
  </p>
    </section>
  
    <section title="Describe your Intended Audience">
  <p>
  If your How-To is targetted at a specific audience, describe it here. For example, potential readers will have different levels of skill using Cocoon. They will also bring different areas of expertise and backgrounds to their How-To learning experience. When you clarify your target audience up front, you will save all other readers time and confusion. 
  </p> 
    </section>
  
    <section title="State the Purpose">
  <p>
  State the purpose of your How-To. Explain how the reader will benefit by reading it. Give your reader an incentive or two to continue. 
  </p>
    </section>
  
    <section title="List any Prerequsites">
  <p>
  Inform your reader about any required knowledge, configuration, or resources they may need before stepping through your How-To. Assist them in this preparation by linking to other useful resources on the Cocoon site or the web. Helping your readers to prepare increases the likelihood that they will continue reading your How-To.
  </p>
    </section>
  
    <section title="Describe the Steps of your How-To">
  <p>
  In a precise, step-by-step approach, walk your reader through the process. Make sure your reader can reproduce your intended result by following your exact steps. Make the learning process efficient by supplying sample code snippets or configuration details as necessary.
  </p>
    </section>
  
    <section title="Extend the Learning">
  <p>
  Provide your reader with a few real-world examples of how the techniques or capabilities gained from your How-To could be applied. Reward the reader for successfully completing the How-To with a few ideas about how it will pay off.
  </p>
    </section>
  
  
    <section title="Summarize the Entire Process">
  <p>
  In a few sentences, remind the reader what they have just learned. This helps to reinforce the main points of your How-To.  
  </p>
    </section>
  
  
    <section title="Additional Tips or FAQs">
  <p>
  In some cases, step-by-step instructions simply aren't enough. Use this section to pass on any other tips or frequently asked questions. Anticipating the needs of your readers will increase the overall success of your writing effort.
  </p>
    </section>
  
    <section title="References">
  <p>
  Remember to acknowledge any third-party resources or individuals who contributed to the development of your How-To. Consider providing links for those motivated readers who want to learn more.
  </p>
    </section>
    
    <section title="Get some feedback">
  <p>
  Ask a few other Cocoon users to proofread your How-To. Or, post a text version of it to the cocoon-user list, and ask for comments.
  </p> 
    </section>
    
    <section title="Submit via Bugzilla">
  <p>
  Create an attachment for your How-To document, and submit it via Bugzilla. 
  <!-- link to How-To Bugzilla here -->
  </p> 
    </section>
      
  
    </steps>
  
    <extension title="Extension">
  <p>
  Cocoon solutions can be extended to cover many different problem domains. A nearly unlimited number of potential How-To topics, from simple to complex, are available right now, limited only by your imagination. 
  </p>
    </extension>
  
    <faqs title="Frequently Asked Questions">
    
    <faq>
     <question>
      What is the difference between a How-To and a tutorial?
     </question>
     <answer>
      <p>
      The goal of a How-To is to help the reader to accomplish a specific task with clear and consise instructions. While tutorials may contain How-To-like instructions and content, they also include additional background and conceptual content to help teach their readers higher order concepts along the way. How-Tos are concerned about filling an immediate, short-term need. Tutorials often provide long-term knowledge which can be applied across a range of needs.
      </p>
     </answer>
    </faq>
  
    <faq>
     <question>
      What spelling convention should I follow?
     </question>
     <answer>
      <p>
       Use whatever spelling convention (American, British, etc.) that is most intuitive to you.
      </p>
     </answer>
    </faq>
    </faqs>
    
    <tips title="Tips">
    
    <section title="How-To dtd">
  <p>
  The document structure of Cocoon's How-To page is likely to change soon. Please note that this HOWTO page is likely to change as well.
  </p>
    </section>
    
    </tips>
  
    <references title="References">
  <p>
  This is not the first, nor will it be the last, How-To on writing How-Tos. For other ideas and opinions on the matter, check out the following sources.
  </p>
    <ul>
  <li>
  Joel D. Canfield's <link href="http://www.evolt.org/article/How_To_Write_A_How_To/9741/18250/index.html">How to Write a How-To</link> on evolt.org.
  </li>
  <li>
  The Linux Documentation Project's <link href="http://www.tldp.org/HOWTO/HOWTO-INDEX/index.html">HOWTO</link> index page provides many excellent How-To documents to inspire your efforts.
  </li>
    </ul>
    
    </references>
    
  </howto>
  
  
  
  1.2       +8 -0      xml-forrest/src/resources/schema/catalog
  
  Index: catalog
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/resources/schema/catalog,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- catalog	1 Mar 2002 07:28:25 -0000	1.1
  +++ catalog	19 May 2002 18:56:42 -0000	1.2
  @@ -15,6 +15,14 @@
          "dtd/todo-v11.dtd"
   PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN"
          "dtd/book-cocoon-v10.dtd"
  +PUBLIC "-//APACHE//DTD How-to V1.0//EN"
  +       "dtd/howto-v10.dtd"
  +
  +-- Reusable modules --
  +PUBLIC "-//APACHE//ENTITIES Documentation V1.1//EN"
  +       "dtd/document-v11.mod"
  +PUBLIC "-//APACHE//ENTITIES FAQ V1.1//EN"
  +       "dtd/faq-v11.mod"
   
   -- ISO public identifiers for sets of character entities --
   PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//XML"
  
  
  
  1.2       +11 -398   xml-forrest/src/resources/schema/dtd/document-v11.dtd
  
  Index: document-v11.dtd
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/resources/schema/dtd/document-v11.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- document-v11.dtd	1 Mar 2002 07:28:25 -0000	1.1
  +++ document-v11.dtd	19 May 2002 18:56:42 -0000	1.2
  @@ -31,10 +31,10 @@
     This DTD includes several empty placeholders that can be used to
     extend it. These placeholders are implemented with empty entities. Here
     is the list of those empty entities and what they are used for:
  -  
  -    - local.inline: this entity should contain extended definitions of 
  +
  +    - local.inline: this entity should contain extended definitions of
                       elements that can be used 'inline', or directly inside
  -                    the content. An example for this entity could be 
  +                    the content. An example for this entity could be
   
                           <!ENTITY % local.inline "|citation">
   
  @@ -63,8 +63,8 @@
                        An example for this header could be:
   
                           <!ENTITY % local.footers ", annotations*">
  -  
  -  
  +
  +
   AUTHORS:
     Stefano Mazzocchi <st...@apache.org>
     Steven Noels <st...@outerthought.org>
  @@ -89,10 +89,10 @@
   [Version 1.1]
     20011212 Used public identifiers for external entities. (SM)
     20011212 Removed xlink attributes since not used. (SM)
  -  20011212 Removed "connect" since not required at this level. (SM) 
  +  20011212 Removed "connect" since not required at this level. (SM)
     20011218 Added "warning" as a block level object. (SM)
     20011218 Removed explicitly numbered sections ("s1|s2|s3|s4"). (SM)
  -  20011218 Added "section" element. (SM)  
  +  20011218 Added "section" element. (SM)
     20011218 Allowed "body" to have blocks without a section. (SM)
     20011218 Removed "sl" since not really different from "ul". (SM)
     20020214 Moved empty placeholder entity declarations up front (SNS)
  @@ -141,400 +141,13 @@
   %ISOdia;
   
   <!-- =============================================================== -->
  -<!-- Useful entities for increased DTD readability -->
  -<!-- =============================================================== -->
  -
  -<!ENTITY % text "#PCDATA">
  -
  -<!-- Entities referred to later on are defined up front -->
  -
  -<!ENTITY % markup "strong|em|code|sub|sup">
  -<!ENTITY % special-inline "br|img|icon">
  -<!ENTITY % links "link|jump|fork">
  -<!ENTITY % paragraphs "p|source|note|warning|fixme">
  -<!ENTITY % tables "table">
  -<!ENTITY % lists "ol|ul|dl">
  -<!ENTITY % special-blocks "figure|anchor">
  -
  -
  -<!-- =============================================================== -->
  -<!-- Entities for general XML compliance -->
  -<!-- =============================================================== -->
  -
  -<!-- Common attributes
  -        Every element has an ID attribute (sometimes required,
  -        but usually optional) for links. %common.att;
  -        is for common attributes where the ID is optional, and
  -        %common-idreq.att; is for common attributes where the
  -        ID is required.
  --->
  -<!ENTITY % common.att
  -        'id                     ID              #IMPLIED
  -         xml:lang               NMTOKEN         #IMPLIED'>
  -<!ENTITY % common-idreq.att
  -        'id                     ID              #REQUIRED
  -         xml:lang               NMTOKEN         #IMPLIED'>
  -
  -
  -<!-- xml:space attribute ===============================================
  -        Indicates that the element contains white space
  -        that the formatter or other application should retain,
  -        as appropriate to its function.
  -==================================================================== -->
  -<!ENTITY % xmlspace.att
  -        'xml:space (default|preserve) #FIXED "preserve"'>
  -
  -
  -<!-- def attribute =====================================================
  -        Points to the element where the relevant definition can be
  -        found, using the IDREF mechanism.  %def.att; is for optional
  -        def attributes, and %def-req.att; is for required def
  -        attributes.
  -==================================================================== -->
  -<!ENTITY % def.att
  -        'def                    IDREF           #IMPLIED'>
  -<!ENTITY % def-req.att
  -        'def                    IDREF           #REQUIRED'>
  -
  -
  -<!-- ref attribute =====================================================
  -        Points to the element where more information can be found,
  -        using the IDREF mechanism.  %ref.att; is for optional
  -        ref attributes, and %ref-req.att; is for required ref
  -        attributes.
  -================================================================== -->
  -<!ENTITY % ref.att
  -        'ref                    IDREF           #IMPLIED'>
  -<!ENTITY % ref-req.att
  -        'ref                    IDREF           #REQUIRED'>
  -
  -
  -<!-- =============================================================== -->
  -<!-- Entities for general usage -->
  -<!-- =============================================================== -->
  -
  -
  -<!-- Key attribute =====================================================
  -        Optionally provides a sorting or indexing key, for cases when
  -        the element content is inappropriate for this purpose.
  -==================================================================== -->
  -<!ENTITY % key.att
  -        'key                    CDATA           #IMPLIED'>
  -
  -
  -
  -<!-- Title attributes ==================================================
  -        Indicates that the element requires to have a title attribute.
  -==================================================================== -->
  -<!ENTITY % title.att
  -        'title                  CDATA           #REQUIRED'>
  -
  -
  -
  -<!-- Name attributes ==================================================
  -        Indicates that the element requires to have a name attribute.
  -==================================================================== -->
  -<!ENTITY % name.att
  -        'name                   CDATA           #REQUIRED'>
  -
  -
  -
  -<!-- Email attributes ==================================================
  -        Indicates that the element requires to have an email attribute.
  -==================================================================== -->
  -<!ENTITY % email.att
  -        'email                  CDATA           #REQUIRED'>
  -
  -
  -<!-- Link attributes ===================================================
  -        Indicates that the element requires to have hyperlink attributes.
  -==================================================================== -->
  -
  -<!ENTITY % link.att
  -        'href      CDATA                         #IMPLIED
  -         role      CDATA                         #IMPLIED
  -         title     CDATA                         #IMPLIED '>
  -
  -
  -
  -<!-- =============================================================== -->
  -<!-- General definitions -->
  -<!-- =============================================================== -->
  -
  -<!-- A person is a general human entity -->
  -<!ELEMENT person EMPTY>
  -<!ATTLIST person %common.att;
  -                 %name.att;
  -                 %email.att;>
  -
  -
  -
  -<!-- =============================================================== -->
  -<!-- Content definitions -->
  -<!-- =============================================================== -->
  -
  -<!ENTITY % local.inline "">
  -
  -<!ENTITY % link-content.mix "%text;|%markup;|%special-inline; %local.inline;">
  -
  -<!ENTITY % content.mix "%link-content.mix;|%links;">
  -
  -    <!-- ==================================================== -->
  -    <!-- Phrase Markup -->
  -    <!-- ==================================================== -->
  -
  -    <!-- Strong (typically bold) -->
  -    <!ELEMENT strong (%text;|code)*>
  -    <!ATTLIST strong %common.att;>
  -
  -    <!-- Emphasis (typically italic) -->
  -    <!ELEMENT em (%text;|code)*>
  -    <!ATTLIST em %common.att;>
  -    
  -    <!-- Code (typically monospaced) -->
  -    <!ELEMENT code (%text;)>
  -    <!ATTLIST code %common.att;>
  -
  -    <!-- Superscript (typically smaller and higher) -->
  -    <!ELEMENT sup (%text;)>
  -    <!ATTLIST sup %common.att;>
  -
  -    <!-- Subscript (typically smaller and lower) -->
  -    <!ELEMENT sub (%text;)>
  -    <!ATTLIST sub %common.att;>
  -
  -    <!-- ==================================================== -->
  -    <!-- Hypertextual Links -->
  -    <!-- ==================================================== -->
  -
  -    <!-- hyperlink (equivalent of <a ...>) -->
  -    <!ELEMENT link (%link-content.mix;)*>
  -    <!ATTLIST link %common.att;
  -                   %link.att;>
  -
  -    <!-- windows-replacing link (equivalent of <a ... target="_top">) -->
  -    <!ELEMENT jump (%link-content.mix;)*>
  -    <!ATTLIST jump %common.att;
  -                   %link.att;>
  -
  -    <!-- window-forking link (equivalent of <a ... target="_new">) -->
  -    <!ELEMENT fork (%link-content.mix;)*>
  -    <!ATTLIST fork %common.att;
  -                   %link.att;>
  -
  -    <!-- ==================================================== -->
  -    <!-- Specials -->
  -    <!-- ==================================================== -->
  -
  -    <!-- Breakline Object (typically forces line break) -->
  -    <!ELEMENT br EMPTY>
  -    <!ATTLIST br %common.att;>
  -
  -    <!-- Image Object (typically an inlined image) -->
  -    <!ELEMENT img EMPTY>
  -    <!ATTLIST img src    CDATA  #REQUIRED
  -                  alt    CDATA  #REQUIRED
  -                  height CDATA  #IMPLIED
  -                  width  CDATA  #IMPLIED
  -                  usemap CDATA  #IMPLIED
  -                  ismap  (ismap) #IMPLIED
  -                  %common.att;>
  -
  -    <!-- Image Icon (typically an inlined image placed as graphical item) -->
  -    <!ELEMENT icon EMPTY>
  -    <!ATTLIST icon src    CDATA  #REQUIRED
  -                   alt    CDATA  #REQUIRED
  -                   height CDATA  #IMPLIED
  -                   width  CDATA  #IMPLIED
  -                   %common.att;>
  -
  -
  -<!-- =============================================================== -->
  -<!-- Blocks definitions -->
  -<!-- =============================================================== -->
  -
  -<!ENTITY % local.blocks "">
  -
  -<!ENTITY % blocks "%paragraphs;|%tables;|%lists;|%special-blocks; %local.blocks;">
  -
  -    <!-- ==================================================== -->
  -    <!-- Paragraphs -->
  -    <!-- ==================================================== -->
  -
  -    <!-- Text Paragraph (normally vertically space delimited) -->
  -    <!ELEMENT p (%content.mix;)*>
  -    <!ATTLIST p %common.att;>
  -
  -    <!-- Source Paragraph (normally space is preserved) -->
  -    <!ELEMENT source (%content.mix;)*>
  -    <!ATTLIST source %common.att;
  -                     %xmlspace.att;>
  -
  -    <!-- Note Paragraph (normally shown encapsulated) -->
  -    <!ELEMENT note (%content.mix;)*>
  -    <!ATTLIST note %common.att;>
  -
  -    <!-- Warning Paragraph (normally shown with eye-catching colors) -->
  -    <!ELEMENT warning (%content.mix;)*>
  -    <!ATTLIST warning %common.att;>
  -
  -    <!-- Fixme Paragraph (normally not shown) -->
  -    <!ELEMENT fixme (%content.mix;)*>
  -    <!ATTLIST fixme author CDATA #REQUIRED
  -                    %common.att;>
  -
  -    <!-- ==================================================== -->
  -    <!-- Tables -->
  -    <!-- ==================================================== -->
  -
  -    <!-- Attributes that indicate the spanning of the table cell -->
  -    <!ENTITY % cell.span 
  -        'colspan CDATA "1"
  -         rowspan CDATA "1"'>
  -
  -    <!-- Table element -->
  -    <!ELEMENT table (caption?, tr+)>
  -    <!ATTLIST table %common.att;>
  -
  -        <!-- The table title -->
  -        <!ELEMENT caption (%content.mix;)*>
  -        <!ATTLIST caption %common.att;>
  -
  -        <!-- The table row element -->
  -        <!ELEMENT tr (th|td)+>
  -        <!ATTLIST tr %common.att;>
  -
  -            <!-- The table row header element -->
  -            <!ELEMENT th (%content.mix;)*>
  -            <!ATTLIST th %common.att;
  -                         %cell.span;>
  -
  -            <!-- The table row description element -->
  -            <!ELEMENT td (%content.mix;)*>
  -            <!ATTLIST td %common.att;
  -                         %cell.span;>
  -
  -    <!-- ==================================================== -->
  -    <!-- Lists -->
  -    <!-- ==================================================== -->
  -
  -    <!-- List item -->
  -    <!ELEMENT li (%content.mix;|%lists;)*>
  -    <!ATTLIST li %common.att;>
  -    
  -    <!-- Unordered list (typically bulleted) -->
  -    <!ELEMENT ul (li|%lists;)+>
  -    <!--    spacing attribute:
  -            Use "normal" to get normal vertical spacing for items;
  -            use "compact" to get less spacing.  The default is dependent
  -            on the stylesheet. -->
  -    <!ATTLIST ul
  -            %common.att;
  -            spacing         (normal|compact)        #IMPLIED>
  -
  -    <!-- Ordered list (typically numbered) -->
  -    <!ELEMENT ol (li|%lists;)+>
  -    <!--    spacing attribute:
  -            Use "normal" to get normal vertical spacing for items;
  -            use "compact" to get less spacing.  The default is dependent
  -            on the stylesheet. -->
  -    <!ATTLIST ol
  -            %common.att;
  -            spacing         (normal|compact)        #IMPLIED>
  -
  -    <!-- Definition list (typically two-column) -->
  -    <!ELEMENT dl (dt,dd)+>
  -    <!ATTLIST dl %common.att;>
  -
  -        <!-- Definition term -->
  -        <!ELEMENT dt (%content.mix;)*>
  -        <!ATTLIST dt %common.att;>
  -
  -        <!-- Definition description -->
  -        <!ELEMENT dd (%content.mix;)*>
  -        <!ATTLIST dd %common.att;>
  -
  -    <!-- ==================================================== -->
  -    <!-- Special Blocks -->
  -    <!-- ==================================================== -->
  -
  -    <!-- Image Block (typically a separated and centered image) -->
  -    <!ELEMENT figure EMPTY>
  -    <!ATTLIST figure src    CDATA  #REQUIRED
  -                     alt    CDATA  #REQUIRED
  -                     height CDATA  #IMPLIED
  -                     width  CDATA  #IMPLIED
  -                     usemap CDATA  #IMPLIED
  -                     ismap  (ismap) #IMPLIED
  -                     %common.att;>
  -
  -    <!-- anchor point (equivalent of <a name="...">, typically not rendered) -->
  -    <!ELEMENT anchor EMPTY>
  -    <!ATTLIST anchor %common-idreq.att;>
  -
  -
  -<!-- =============================================================== -->
   <!-- Document -->
   <!-- =============================================================== -->
   
  -<!ELEMENT document (header?, body, footer?)>
  -<!ATTLIST document %common.att;>
  -
  -    <!-- ==================================================== -->
  -    <!-- Header -->
  -    <!-- ==================================================== -->
  -
  -    <!ENTITY % local.headers "">
  -
  -    <!ELEMENT header (title, subtitle?, version?, type?, authors,
  -                      notice*, abstract? %local.headers;)>
  -    <!ATTLIST header %common.att;>
  -
  -    <!ELEMENT title (%text;)>
  -    <!ATTLIST title %common.att;>
  -
  -    <!ELEMENT subtitle (%text;)>
  -    <!ATTLIST subtitle %common.att;>
  -
  -    <!ELEMENT version (%text;)>
  -    <!ATTLIST version %common.att;>
  -
  -    <!ELEMENT type (%text;)>
  -    <!ATTLIST type %common.att;>
  -
  -    <!ELEMENT authors (person+)>
  -    <!ATTLIST authors %common.att;>
  -
  -    <!ELEMENT notice (%content.mix;)*>
  -    <!ATTLIST notice %common.att;>
  -
  -    <!ELEMENT abstract (%content.mix;)*>
  -    <!ATTLIST abstract %common.att;>
  -
  -    <!-- ==================================================== -->
  -    <!-- Body -->
  -    <!-- ==================================================== -->
  -
  -    <!ENTITY % local.sections "">
  -
  -    <!ENTITY % sections "section %local.sections;">
  -
  -    <!ELEMENT body (%sections;|%blocks;)+>
  -    <!ATTLIST body %common.att;>
  -
  -    <!ELEMENT section (%sections;|%blocks;)*>
  -    <!ATTLIST section %title.att; %common.att;>
  -
  -    <!-- ==================================================== -->
  -    <!-- Footer -->
  -    <!-- ==================================================== -->
  -
  -    <!ENTITY % local.footers "">
  -
  -    <!ELEMENT footer (legal %local.footers;)>
  -
  -        <!ELEMENT legal (%content.mix;)*>
  -        <!ATTLIST legal %common.att;>
  +<!ENTITY % document PUBLIC
  +    "-//APACHE//ENTITIES Documentation V1.1//EN"
  +    "document-v11.mod">
  +%document;
   
   <!-- =============================================================== -->
   <!-- End of DTD -->
  
  
  
  1.3       +6 -17     xml-forrest/src/resources/schema/dtd/faq-v11.dtd
  
  Index: faq-v11.dtd
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/resources/schema/dtd/faq-v11.dtd,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- faq-v11.dtd	18 Apr 2002 16:01:14 -0000	1.2
  +++ faq-v11.dtd	19 May 2002 18:56:42 -0000	1.3
  @@ -51,29 +51,18 @@
   <!-- =============================================================== -->
   
   <!ENTITY % document PUBLIC
  -    "-//APACHE//DTD Documentation V1.1//EN"
  -    "document-v11.dtd">
  +    "-//APACHE//ENTITIES Documentation V1.1//EN"
  +    "document-v11.mod">
   %document;
   
   <!-- =============================================================== -->
   <!-- Document Type Definition -->
   <!-- =============================================================== -->
   
  -<!ELEMENT faqs (authors?, (faq|part)+)>
  -<!ATTLIST faqs %common.att;
  -               %title.att;>
  -
  -    <!ELEMENT part ((faq | part)+) >
  -    <!ATTLIST part %title.att; %common.att;>
  -
  -    <!ELEMENT faq (question, answer)>
  -    <!ATTLIST faq %common.att;>
  -
  -        <!ELEMENT question (%content.mix;)*>
  -        <!ATTLIST question %common.att;>
  -
  -        <!ELEMENT answer (%blocks;)*>
  -        <!ATTLIST answer author IDREF #IMPLIED>
  +<!ENTITY % faq PUBLIC
  +    "-//APACHE//ENTITIES FAQ V1.1//EN"
  +    "faq-v11.mod">
  +%faq;
   
   <!-- =============================================================== -->
   <!-- End of DTD -->
  
  
  
  1.1                  xml-forrest/src/resources/schema/dtd/document-v11.mod
  
  Index: document-v11.mod
  ===================================================================
  
  <!-- =============================================================== -->
  <!-- Useful entities for increased DTD readability -->
  <!-- =============================================================== -->
  
  <!ENTITY % text "#PCDATA">
  
  <!-- Entities referred to later on are defined up front -->
  
  <!ENTITY % markup "strong|em|code|sub|sup">
  <!ENTITY % special-inline "br|img|icon">
  <!ENTITY % links "link|jump|fork">
  <!ENTITY % paragraphs "p|source|note|warning|fixme">
  <!ENTITY % tables "table">
  <!ENTITY % lists "ol|ul|dl">
  <!ENTITY % special-blocks "figure|anchor">
  
  
  <!-- =============================================================== -->
  <!-- Entities for general XML compliance -->
  <!-- =============================================================== -->
  
  <!-- Common attributes
          Every element has an ID attribute (sometimes required,
          but usually optional) for links. %common.att;
          is for common attributes where the ID is optional, and
          %common-idreq.att; is for common attributes where the
          ID is required.
  -->
  <!ENTITY % common.att
          'id                     ID              #IMPLIED
           xml:lang               NMTOKEN         #IMPLIED'>
  <!ENTITY % common-idreq.att
          'id                     ID              #REQUIRED
           xml:lang               NMTOKEN         #IMPLIED'>
  
  
  <!-- xml:space attribute ===============================================
          Indicates that the element contains white space
          that the formatter or other application should retain,
          as appropriate to its function.
  ==================================================================== -->
  <!ENTITY % xmlspace.att
          'xml:space (default|preserve) #FIXED "preserve"'>
  
  
  <!-- def attribute =====================================================
          Points to the element where the relevant definition can be
          found, using the IDREF mechanism.  %def.att; is for optional
          def attributes, and %def-req.att; is for required def
          attributes.
  ==================================================================== -->
  <!ENTITY % def.att
          'def                    IDREF           #IMPLIED'>
  <!ENTITY % def-req.att
          'def                    IDREF           #REQUIRED'>
  
  
  <!-- ref attribute =====================================================
          Points to the element where more information can be found,
          using the IDREF mechanism.  %ref.att; is for optional
          ref attributes, and %ref-req.att; is for required ref
          attributes.
  ================================================================== -->
  <!ENTITY % ref.att
          'ref                    IDREF           #IMPLIED'>
  <!ENTITY % ref-req.att
          'ref                    IDREF           #REQUIRED'>
  
  
  <!-- =============================================================== -->
  <!-- Entities for general usage -->
  <!-- =============================================================== -->
  
  
  <!-- Key attribute =====================================================
          Optionally provides a sorting or indexing key, for cases when
          the element content is inappropriate for this purpose.
  ==================================================================== -->
  <!ENTITY % key.att
          'key                    CDATA           #IMPLIED'>
  
  
  
  <!-- Title attributes ==================================================
          Indicates that the element requires to have a title attribute.
  ==================================================================== -->
  <!ENTITY % title.att
          'title                  CDATA           #REQUIRED'>
  
  
  
  <!-- Name attributes ==================================================
          Indicates that the element requires to have a name attribute.
  ==================================================================== -->
  <!ENTITY % name.att
          'name                   CDATA           #REQUIRED'>
  
  
  
  <!-- Email attributes ==================================================
          Indicates that the element requires to have an email attribute.
  ==================================================================== -->
  <!ENTITY % email.att
          'email                  CDATA           #REQUIRED'>
  
  
  <!-- Link attributes ===================================================
          Indicates that the element requires to have hyperlink attributes.
  ==================================================================== -->
  
  <!ENTITY % link.att
          'href      CDATA                         #IMPLIED
           role      CDATA                         #IMPLIED
           title     CDATA                         #IMPLIED '>
  
  
  
  <!-- =============================================================== -->
  <!-- General definitions -->
  <!-- =============================================================== -->
  
  <!-- A person is a general human entity -->
  <!ELEMENT person EMPTY>
  <!ATTLIST person %common.att;
                   %name.att;
                   %email.att;>
  
  
  
  <!-- =============================================================== -->
  <!-- Content definitions -->
  <!-- =============================================================== -->
  
  <!ENTITY % local.inline "">
  
  <!ENTITY % link-content.mix "%text;|%markup;|%special-inline; %local.inline;">
  
  <!ENTITY % content.mix "%link-content.mix;|%links;">
  
      <!-- ==================================================== -->
      <!-- Phrase Markup -->
      <!-- ==================================================== -->
  
      <!-- Strong (typically bold) -->
      <!ELEMENT strong (%text;|code)*>
      <!ATTLIST strong %common.att;>
  
      <!-- Emphasis (typically italic) -->
      <!ELEMENT em (%text;|code)*>
      <!ATTLIST em %common.att;>
  
      <!-- Code (typically monospaced) -->
      <!ELEMENT code (%text;)>
      <!ATTLIST code %common.att;>
  
      <!-- Superscript (typically smaller and higher) -->
      <!ELEMENT sup (%text;)>
      <!ATTLIST sup %common.att;>
  
      <!-- Subscript (typically smaller and lower) -->
      <!ELEMENT sub (%text;)>
      <!ATTLIST sub %common.att;>
  
      <!-- ==================================================== -->
      <!-- Hypertextual Links -->
      <!-- ==================================================== -->
  
      <!-- hyperlink (equivalent of <a ...>) -->
      <!ELEMENT link (%link-content.mix;)*>
      <!ATTLIST link %common.att;
                     %link.att;>
  
      <!-- windows-replacing link (equivalent of <a ... target="_top">) -->
      <!ELEMENT jump (%link-content.mix;)*>
      <!ATTLIST jump %common.att;
                     %link.att;>
  
      <!-- window-forking link (equivalent of <a ... target="_new">) -->
      <!ELEMENT fork (%link-content.mix;)*>
      <!ATTLIST fork %common.att;
                     %link.att;>
  
      <!-- ==================================================== -->
      <!-- Specials -->
      <!-- ==================================================== -->
  
      <!-- Breakline Object (typically forces line break) -->
      <!ELEMENT br EMPTY>
      <!ATTLIST br %common.att;>
  
      <!-- Image Object (typically an inlined image) -->
      <!ELEMENT img EMPTY>
      <!ATTLIST img src    CDATA  #REQUIRED
                    alt    CDATA  #REQUIRED
                    height CDATA  #IMPLIED
                    width  CDATA  #IMPLIED
                    usemap CDATA  #IMPLIED
                    ismap  (ismap) #IMPLIED
                    %common.att;>
  
      <!-- Image Icon (typically an inlined image placed as graphical item) -->
      <!ELEMENT icon EMPTY>
      <!ATTLIST icon src    CDATA  #REQUIRED
                     alt    CDATA  #REQUIRED
                     height CDATA  #IMPLIED
                     width  CDATA  #IMPLIED
                     %common.att;>
  
  
  <!-- =============================================================== -->
  <!-- Blocks definitions -->
  <!-- =============================================================== -->
  
  <!ENTITY % local.blocks "">
  
  <!ENTITY % blocks "%paragraphs;|%tables;|%lists;|%special-blocks; %local.blocks;">
  
      <!-- ==================================================== -->
      <!-- Paragraphs -->
      <!-- ==================================================== -->
  
      <!-- Text Paragraph (normally vertically space delimited) -->
      <!ELEMENT p (%content.mix;)*>
      <!ATTLIST p %common.att;>
  
      <!-- Source Paragraph (normally space is preserved) -->
      <!ELEMENT source (%content.mix;)*>
      <!ATTLIST source %common.att;
                       %xmlspace.att;>
  
      <!-- Note Paragraph (normally shown encapsulated) -->
      <!ELEMENT note (%content.mix;)*>
      <!ATTLIST note %common.att;>
  
      <!-- Warning Paragraph (normally shown with eye-catching colors) -->
      <!ELEMENT warning (%content.mix;)*>
      <!ATTLIST warning %common.att;>
  
      <!-- Fixme Paragraph (normally not shown) -->
      <!ELEMENT fixme (%content.mix;)*>
      <!ATTLIST fixme author CDATA #REQUIRED
                      %common.att;>
  
      <!-- ==================================================== -->
      <!-- Tables -->
      <!-- ==================================================== -->
  
      <!-- Attributes that indicate the spanning of the table cell -->
      <!ENTITY % cell.span
          'colspan CDATA "1"
           rowspan CDATA "1"'>
  
      <!-- Table element -->
      <!ELEMENT table (caption?, tr+)>
      <!ATTLIST table %common.att;>
  
          <!-- The table title -->
          <!ELEMENT caption (%content.mix;)*>
          <!ATTLIST caption %common.att;>
  
          <!-- The table row element -->
          <!ELEMENT tr (th|td)+>
          <!ATTLIST tr %common.att;>
  
              <!-- The table row header element -->
              <!ELEMENT th (%content.mix;)*>
              <!ATTLIST th %common.att;
                           %cell.span;>
  
              <!-- The table row description element -->
              <!ELEMENT td (%content.mix;)*>
              <!ATTLIST td %common.att;
                           %cell.span;>
  
      <!-- ==================================================== -->
      <!-- Lists -->
      <!-- ==================================================== -->
  
      <!-- List item -->
      <!ELEMENT li (%content.mix;|%lists;)*>
      <!ATTLIST li %common.att;>
  
      <!-- Unordered list (typically bulleted) -->
      <!ELEMENT ul (li|%lists;)+>
      <!--    spacing attribute:
              Use "normal" to get normal vertical spacing for items;
              use "compact" to get less spacing.  The default is dependent
              on the stylesheet. -->
      <!ATTLIST ul
              %common.att;
              spacing         (normal|compact)        #IMPLIED>
  
      <!-- Ordered list (typically numbered) -->
      <!ELEMENT ol (li|%lists;)+>
      <!--    spacing attribute:
              Use "normal" to get normal vertical spacing for items;
              use "compact" to get less spacing.  The default is dependent
              on the stylesheet. -->
      <!ATTLIST ol
              %common.att;
              spacing         (normal|compact)        #IMPLIED>
  
      <!-- Definition list (typically two-column) -->
      <!ELEMENT dl (dt,dd)+>
      <!ATTLIST dl %common.att;>
  
          <!-- Definition term -->
          <!ELEMENT dt (%content.mix;)*>
          <!ATTLIST dt %common.att;>
  
          <!-- Definition description -->
          <!ELEMENT dd (%content.mix;)*>
          <!ATTLIST dd %common.att;>
  
      <!-- ==================================================== -->
      <!-- Special Blocks -->
      <!-- ==================================================== -->
  
      <!-- Image Block (typically a separated and centered image) -->
      <!ELEMENT figure EMPTY>
      <!ATTLIST figure src    CDATA  #REQUIRED
                       alt    CDATA  #REQUIRED
                       height CDATA  #IMPLIED
                       width  CDATA  #IMPLIED
                       usemap CDATA  #IMPLIED
                       ismap  (ismap) #IMPLIED
                       %common.att;>
  
      <!-- anchor point (equivalent of <a name="...">, typically not rendered) -->
      <!ELEMENT anchor EMPTY>
      <!ATTLIST anchor %common-idreq.att;>
  
  <!-- =============================================================== -->
  <!-- Document -->
  <!-- =============================================================== -->
  
  <!ELEMENT document (header?, body, footer?)>
  <!ATTLIST document %common.att;>
  
      <!-- ==================================================== -->
      <!-- Header -->
      <!-- ==================================================== -->
  
      <!ENTITY % local.headers "">
  
      <!ELEMENT header (title, subtitle?, version?, type?, authors,
                        notice*, abstract? %local.headers;)>
      <!ATTLIST header %common.att;>
  
      <!ELEMENT title (%text;)>
      <!ATTLIST title %common.att;>
  
      <!ELEMENT subtitle (%text;)>
      <!ATTLIST subtitle %common.att;>
  
      <!ELEMENT version (%text;)>
      <!ATTLIST version %common.att;>
  
      <!ELEMENT type (%text;)>
      <!ATTLIST type %common.att;>
  
      <!ELEMENT authors (person+)>
      <!ATTLIST authors %common.att;>
  
      <!ELEMENT notice (%content.mix;)*>
      <!ATTLIST notice %common.att;>
  
      <!ELEMENT abstract (%content.mix;)*>
      <!ATTLIST abstract %common.att;>
  
      <!-- ==================================================== -->
      <!-- Body -->
      <!-- ==================================================== -->
  
      <!ENTITY % local.sections "">
  
      <!ENTITY % sections "section %local.sections;">
  
      <!ELEMENT body (%sections;|%blocks;)+>
      <!ATTLIST body %common.att;>
  
      <!ELEMENT section (%sections;|%blocks;)*>
      <!ATTLIST section %title.att; %common.att;>
  
      <!-- ==================================================== -->
      <!-- Footer -->
      <!-- ==================================================== -->
  
      <!ENTITY % local.footers "">
  
      <!ELEMENT footer (legal %local.footers;)>
  
          <!ELEMENT legal (%content.mix;)*>
          <!ATTLIST legal %common.att;>
  
  
  1.1                  xml-forrest/src/resources/schema/dtd/faq-v11.mod
  
  Index: faq-v11.mod
  ===================================================================
  
  <!ELEMENT faqs (authors?, (faq|part)+)>
  <!ATTLIST faqs %common.att;
                 %title.att;>
  
      <!ELEMENT part ((faq | part)+) >
      <!ATTLIST part %title.att; %common.att;>
  
      <!ELEMENT faq (question, answer)>
      <!ATTLIST faq %common.att;>
  
          <!ELEMENT question (%content.mix;)*>
          <!ATTLIST question %common.att;>
  
          <!ELEMENT answer (%blocks;)*>
          <!ATTLIST answer author IDREF #IMPLIED>
  
  
  
  1.1                  xml-forrest/src/resources/schema/dtd/howto-v10.dtd
  
  Index: howto-v10.dtd
  ===================================================================
  <!-- ===================================================================
  
       Apache How-To DTD (Version 1.0)
  
  PURPOSE:
    This DTD was developed to create a simple yet powerful document
    type for software How-Tos for use with the Apache projects.
    It is an XML-compliant DTD and it's maintained by the Apache XML
    project.
  
  TYPICAL INVOCATION:
  
    <!DOCTYPE document PUBLIC
         "-//APACHE//DTD How-To Vx.y//EN"
         "howto-vxy.dtd">
  
    where
  
      x := major version
      y := minor version
  
  NOTES:
    How-Tos help software users accomplish a specific task with clear
    and consise instructions.
  
  AUTHORS:
    Diana Shannon <sh...@apache.org>
  
  FIXME:
  
  CHANGE HISTORY:
    20020515 Initial version. (DS)
  
  COPYRIGHT:
    Copyright (c) @year@ 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.
  
  ==================================================================== -->
  
  <!-- =============================================================== -->
  <!-- Local entities -->
  <!-- =============================================================== -->
  
  <!ENTITY % local.headers ", last-modified-content-date">
  
  <!-- =============================================================== -->
  <!-- Include the Documentation DTD -->
  <!-- =============================================================== -->
  
  <!ENTITY % document PUBLIC
      "-//APACHE//ENTITIES Documentation V1.1//EN"
      "document-v11.mod">
  %document;
  
  <!ENTITY % faq PUBLIC
      "-//APACHE//ENTITIES FAQ V1.1//EN"
      "faq-v11.mod">
  %faq;
  
  <!-- =============================================================== -->
  <!-- Document Type Definition -->
  <!-- =============================================================== -->
  
  <!ELEMENT howto (header, audience?, purpose?, prerequisites?, steps, extension?, faqs?, tips?, references? )>
  <!ATTLIST howto %common.att;>
  
  
      <!ELEMENT overview (%blocks;)* >
      <!ATTLIST overview %title.att; %common.att;>
  
      <!ELEMENT purpose (%blocks;)* >
      <!ATTLIST purpose %title.att; %common.att;>
  
      <!ELEMENT prerequisites (%blocks;)* >
      <!ATTLIST prerequisites %title.att; %common.att;>
  
      <!ELEMENT audience (%blocks;)* >
      <!ATTLIST audience %title.att; %common.att;>
  
      <!ELEMENT steps (section | %blocks;)* >
      <!ATTLIST steps %title.att; %common.att;>
  
      <!ELEMENT extension (%blocks;)* >
      <!ATTLIST extension %title.att; %common.att;>
  
      <!ELEMENT tips (section | %blocks;)* >
      <!ATTLIST tips %title.att; %common.att;>
  
      <!ELEMENT references (%blocks;)* >
      <!ATTLIST references %title.att; %common.att;>
  
      <!ELEMENT last-modified-content-date EMPTY >
      <!ATTLIST last-modified-content-date date CDATA #REQUIRED>
  
  <!-- =============================================================== -->
  <!-- End of DTD -->
  <!-- =============================================================== -->
  
  
  

Re: cvs commit: xml-forrest/src/resources/schema/dtd document-v11.mod faq-v11.mod howto-v10.dtd document-v11.dtd faq-v11.dtd

Posted by Diana Shannon <te...@mac.com>.
On Sunday, May 19, 2002, at 05:11  PM, Steven Noels wrote:

> From: Steven Noels [mailto:stevenn@outerthought.org]
>
>> Next steps:
>>  - add a howto2doc-v11 xslt stylesheet and set up a matcher
>> for that (as
>> with faqs)
>
> I thought Diana would appreciate to see the result of her labour, so I
> added this one myself immediately - admittedly pretty crude in approach,
> but at least 'there is something in CVS now to work upon' (tm) ;-)

Thanks. FYI, I'm working on a multi-page how-to sample with associated 
images and revision docs. I'll post this, along with suggested 
modifications to your stylesheet, soon.

Diana


RE: cvs commit: xml-forrest/src/resources/schema/dtd document-v11.mod faq-v11.mod howto-v10.dtd document-v11.dtd faq-v11.dtd

Posted by Steven Noels <st...@outerthought.org>.
From: Steven Noels [mailto:stevenn@outerthought.org]

> Next steps:
>  - add a howto2doc-v11 xslt stylesheet and set up a matcher
> for that (as
> with faqs)

I thought Diana would appreciate to see the result of her labour, so I
added this one myself immediately - admittedly pretty crude in approach,
but at least 'there is something in CVS now to work upon' (tm) ;-)

</Steven>

ps. who said XSLT wasn't productive as a programming concept? naaaaah
;-)


RE: cvs commit: xml-forrest/src/resources/schema/dtd document-v11.mod faq-v11.mod howto-v10.dtd document-v11.dtd faq-v11.dtd

Posted by Steven Noels <st...@outerthought.org>.
I added Diana's new howto DTD to Forrest, and refactored some DTDs to
fit the new modular structure. I need to come back to add copyright
statements and reformat some of the files.

Next steps:

 - isolate all common text level elements in a separate file, so that
the document-v11.mod becomes a bit skinnier
 - re-organize the forrest skin xslt so that the stylesheet mirrors this
new structure, or it will become a burden to maintain... this however
means that common text level element (<p>, lists and the like) will look
the same regardless of what doctype they exist in - quite logical to me
but I just want to hear your opinion about this
 - add a howto2doc-v11 xslt stylesheet and set up a matcher for that (as
with faqs)

Comments?

</Steven>

> -----Original Message-----
> From: stevenn@apache.org [mailto:stevenn@apache.org]
> Sent: zondag 19 mei 2002 20:57
> To: xml-forrest-cvs@apache.org
> Subject: cvs commit: xml-forrest/src/resources/schema/dtd
> document-v11.mod faq-v11.mod howto-v10.dtd document-v11.dtd
> faq-v11.dtd
>
>