- Move includes.nav*.sgml to share/sgml/navibar.ent and
   <lang>/share/sgml/nabibar.l10n.ent.
 - Move includes.sgml and includes.xsl to
   share/sgml/common.ent, share/sgml/header.ent, <lang>/share/sgml/l10n.ent,
   and <lang>?share/sgml/header.l10n.ent.
 - Move most of XSLT libraries to share/sgml/*.xsl and
   <lang>/share/sgml/*.xsl.
 - Move news.xml and other *.xml files for the similar purpose
   to share/sgml/*.xml and <lang>/share/sgml/*.xml.
 - Switch to use a custom DTD for HTML document.  Now we use
   "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension", which is
   HTML 4.01 + some entities previously pulled via
   "<!ENTITY % includes SYSTEM "includes.sgml"> %includes;" line.
   The location of entity file will be resolved by using catalog file.
 - Add DOCTYPE declearation to XML documents.  This makes the followings
   possible:
   * Use of &foo; entities for SGML in an XML file instead of defining
     {$foo} as the same content.
   * &symbolic; entities for Latin characters.
 - Duplicated information between SGML and XML, or English and
   translated doc, has been removed as much as possible.
		
	
			
		
			
				
	
	
		
			382 lines
		
	
	
	
		
			9.1 KiB
		
	
	
	
		
			DTD
		
	
	
	
	
	
			
		
		
	
	
			382 lines
		
	
	
	
		
			9.1 KiB
		
	
	
	
		
			DTD
		
	
	
	
	
	
| <!-- $FreeBSD$ -->
 | |
| 
 | |
| <!--
 | |
| 
 | |
|  DTD fragment for XSLT 1.0 from http://www.w3.org/TR/1999/REC-xslt-19991116.  
 | |
| 
 | |
|  Note that this DTD cannot directly be used for validation because
 | |
|  DTD does not support XML namespace.
 | |
| 
 | |
| -->
 | |
| 
 | |
| <!--
 | |
| 
 | |
|  W3C SOFTWARE NOTICE AND LICENSE
 | |
|  http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
 | |
| 
 | |
|  This work (and included software, documentation such as READMEs, or other
 | |
|  related items) is being provided by the copyright holders under
 | |
|  the following license. By obtaining, using and/or copying this work,
 | |
|  you (the licensee) agree that you have read, understood, and will comply
 | |
|  with the following terms and conditions.
 | |
| 
 | |
|  1. Permission to copy, modify, and distribute this software and its
 | |
|     documentation, with or without modification, for any purpose and
 | |
|     without fee or royalty is hereby granted, provided that you include
 | |
|     the following on ALL copies of the software and documentation or portions
 | |
|     thereof, including modifications:
 | |
| 
 | |
|  2. The full text of this NOTICE in a location viewable to users of the
 | |
|     redistributed or derivative work.  Any pre-existing intellectual property
 | |
|     disclaimers, notices, or terms and conditions. If none exist,
 | |
|     the W3C Software Short Notice should be included (hypertext is preferred,
 | |
|     text is permitted) within the body of any redistributed or derivative code. 
 | |
| 
 | |
|  3. Notice of any changes or modifications to the files, including the date
 | |
|     changes were made. (We recommend you provide URIs to the location from
 | |
|     which the code is derived.)
 | |
| 
 | |
|  THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
 | |
|  MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 | |
|  LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
 | |
|  PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
 | |
|  ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
 | |
| 
 | |
|  COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
 | |
|  CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
 | |
| 
 | |
|  The name and trademarks of copyright holders may NOT be used in advertising
 | |
|  or publicity pertaining to the software without specific, written prior
 | |
|  permission. Title to copyright in this software and any associated
 | |
|  documentation will at all times remain with copyright holders.
 | |
| 
 | |
| -->
 | |
| 
 | |
| <!ENTITY % result-elements "
 | |
| ">
 | |
| 
 | |
| <!ENTITY % char-instructions "
 | |
|   | xsl:apply-templates
 | |
|   | xsl:call-template
 | |
|   | xsl:apply-imports
 | |
|   | xsl:for-each
 | |
|   | xsl:value-of
 | |
|   | xsl:copy-of
 | |
|   | xsl:number
 | |
|   | xsl:choose
 | |
|   | xsl:if
 | |
|   | xsl:text
 | |
|   | xsl:copy
 | |
|   | xsl:variable
 | |
|   | xsl:message
 | |
|   | xsl:fallback
 | |
| ">
 | |
| 
 | |
| <!ENTITY % instructions "
 | |
|   %char-instructions;
 | |
|   | xsl:processing-instruction
 | |
|   | xsl:comment
 | |
|   | xsl:element
 | |
|   | xsl:attribute
 | |
| ">
 | |
| 
 | |
| <!ENTITY % char-template "
 | |
|  (#PCDATA
 | |
|   %char-instructions;)*
 | |
| ">
 | |
| 
 | |
| <!ENTITY % template "
 | |
|  (#PCDATA
 | |
|   %instructions;
 | |
|   %result-elements;)*
 | |
| ">
 | |
| 
 | |
| <!-- Used for the type of an attribute value that is a URI reference.-->
 | |
| <!ENTITY % URI "CDATA">
 | |
| 
 | |
| <!-- Used for the type of an attribute value that is a pattern.-->
 | |
| <!ENTITY % pattern "CDATA">
 | |
| 
 | |
| <!-- Used for the type of an attribute value that is an
 | |
|      attribute value template.-->
 | |
| <!ENTITY % avt "CDATA">
 | |
| 
 | |
| <!-- Used for the type of an attribute value that is a QName; the prefix
 | |
|      gets expanded by the XSLT processor. -->
 | |
| <!ENTITY % qname "NMTOKEN">
 | |
| 
 | |
| <!-- Like qname but a whitespace-separated list of QNames. -->
 | |
| <!ENTITY % qnames "NMTOKENS">
 | |
| 
 | |
| <!-- Used for the type of an attribute value that is an expression.-->
 | |
| <!ENTITY % expr "CDATA">
 | |
| 
 | |
| <!-- Used for the type of an attribute value that consists
 | |
|      of a single character.-->
 | |
| <!ENTITY % char "CDATA">
 | |
| 
 | |
| <!-- Used for the type of an attribute value that is a priority. -->
 | |
| <!ENTITY % priority "NMTOKEN">
 | |
| 
 | |
| <!ENTITY % space-att "xml:space (default|preserve) #IMPLIED">
 | |
| 
 | |
| <!-- This may be overridden to customize the set of elements allowed
 | |
| at the top-level. -->
 | |
| 
 | |
| <!ENTITY % non-xsl-top-level "">
 | |
| 
 | |
| <!ENTITY % top-level "
 | |
|  (xsl:import*,
 | |
|   (xsl:include
 | |
|   | xsl:strip-space
 | |
|   | xsl:preserve-space
 | |
|   | xsl:output
 | |
|   | xsl:key
 | |
|   | xsl:decimal-format
 | |
|   | xsl:attribute-set
 | |
|   | xsl:variable
 | |
|   | xsl:param
 | |
|   | xsl:template
 | |
|   | xsl:namespace-alias
 | |
|   %non-xsl-top-level;)*)
 | |
| ">
 | |
| 
 | |
| <!ENTITY % top-level-atts '
 | |
|   extension-element-prefixes CDATA #IMPLIED
 | |
|   exclude-result-prefixes CDATA #IMPLIED
 | |
|   id ID #IMPLIED
 | |
|   version NMTOKEN #REQUIRED
 | |
|   xmlns:xsl CDATA #FIXED "http://www.w3.org/1999/XSL/Transform"
 | |
|   %space-att;
 | |
| '>
 | |
| 
 | |
| <!-- This entity is defined for use in the ATTLIST declaration
 | |
| for result elements. -->
 | |
| 
 | |
| <!ENTITY % result-element-atts '
 | |
|   xsl:extension-element-prefixes CDATA #IMPLIED
 | |
|   xsl:exclude-result-prefixes CDATA #IMPLIED
 | |
|   xsl:use-attribute-sets %qnames; #IMPLIED
 | |
|   xsl:version NMTOKEN #IMPLIED
 | |
| '>
 | |
| 
 | |
| <!ELEMENT xsl:stylesheet %top-level;>
 | |
| <!ATTLIST xsl:stylesheet %top-level-atts;>
 | |
| 
 | |
| <!ELEMENT xsl:transform %top-level;>
 | |
| <!ATTLIST xsl:transform %top-level-atts;>
 | |
| 
 | |
| <!ELEMENT xsl:import EMPTY>
 | |
| <!ATTLIST xsl:import href %URI; #REQUIRED>
 | |
| 
 | |
| <!ELEMENT xsl:include EMPTY>
 | |
| <!ATTLIST xsl:include href %URI; #REQUIRED>
 | |
| 
 | |
| <!ELEMENT xsl:strip-space EMPTY>
 | |
| <!ATTLIST xsl:strip-space elements CDATA #REQUIRED>
 | |
| 
 | |
| <!ELEMENT xsl:preserve-space EMPTY>
 | |
| <!ATTLIST xsl:preserve-space elements CDATA #REQUIRED>
 | |
| 
 | |
| <!ELEMENT xsl:output EMPTY>
 | |
| <!ATTLIST xsl:output
 | |
|   method %qname; #IMPLIED
 | |
|   version NMTOKEN #IMPLIED
 | |
|   encoding CDATA #IMPLIED
 | |
|   omit-xml-declaration (yes|no) #IMPLIED
 | |
|   standalone (yes|no) #IMPLIED
 | |
|   doctype-public CDATA #IMPLIED
 | |
|   doctype-system CDATA #IMPLIED
 | |
|   cdata-section-elements %qnames; #IMPLIED
 | |
|   indent (yes|no) #IMPLIED
 | |
|   media-type CDATA #IMPLIED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:key EMPTY>
 | |
| <!ATTLIST xsl:key
 | |
|   name %qname; #REQUIRED
 | |
|   match %pattern; #REQUIRED
 | |
|   use %expr; #REQUIRED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:decimal-format EMPTY>
 | |
| <!ATTLIST xsl:decimal-format
 | |
|   name %qname; #IMPLIED
 | |
|   decimal-separator %char; "."
 | |
|   grouping-separator %char; ","
 | |
|   infinity CDATA "Infinity"
 | |
|   minus-sign %char; "-"
 | |
|   NaN CDATA "NaN"
 | |
|   percent %char; "%"
 | |
|   per-mille %char; "‰"
 | |
|   zero-digit %char; "0"
 | |
|   digit %char; "#"
 | |
|   pattern-separator %char; ";"
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:namespace-alias EMPTY>
 | |
| <!ATTLIST xsl:namespace-alias
 | |
|   stylesheet-prefix CDATA #REQUIRED
 | |
|   result-prefix CDATA #REQUIRED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:template
 | |
|  (#PCDATA
 | |
|   %instructions;
 | |
|   %result-elements;
 | |
|   | xsl:param)*
 | |
| >
 | |
| 
 | |
| <!ATTLIST xsl:template
 | |
|   match %pattern; #IMPLIED
 | |
|   name %qname; #IMPLIED
 | |
|   priority %priority; #IMPLIED
 | |
|   mode %qname; #IMPLIED
 | |
|   %space-att;
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:value-of EMPTY>
 | |
| <!ATTLIST xsl:value-of
 | |
|   select %expr; #REQUIRED
 | |
|   disable-output-escaping (yes|no) "no"
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:copy-of EMPTY>
 | |
| <!ATTLIST xsl:copy-of select %expr; #REQUIRED>
 | |
| 
 | |
| <!ELEMENT xsl:number EMPTY>
 | |
| <!ATTLIST xsl:number
 | |
|    level (single|multiple|any) "single"
 | |
|    count %pattern; #IMPLIED
 | |
|    from %pattern; #IMPLIED
 | |
|    value %expr; #IMPLIED
 | |
|    format %avt; '1'
 | |
|    lang %avt; #IMPLIED
 | |
|    letter-value %avt; #IMPLIED
 | |
|    grouping-separator %avt; #IMPLIED
 | |
|    grouping-size %avt; #IMPLIED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:apply-templates (xsl:sort|xsl:with-param)*>
 | |
| <!ATTLIST xsl:apply-templates
 | |
|   select %expr; "node()"
 | |
|   mode %qname; #IMPLIED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:apply-imports EMPTY>
 | |
| 
 | |
| <!-- xsl:sort cannot occur after any other elements or
 | |
| any non-whitespace character -->
 | |
| 
 | |
| <!ELEMENT xsl:for-each
 | |
|  (#PCDATA
 | |
|   %instructions;
 | |
|   %result-elements;
 | |
|   | xsl:sort)*
 | |
| >
 | |
| 
 | |
| <!ATTLIST xsl:for-each
 | |
|   select %expr; #REQUIRED
 | |
|   %space-att;
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:sort EMPTY>
 | |
| <!ATTLIST xsl:sort
 | |
|   select %expr; "."
 | |
|   lang %avt; #IMPLIED
 | |
|   data-type %avt; "text"
 | |
|   order %avt; "ascending"
 | |
|   case-order %avt; #IMPLIED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:if %template;>
 | |
| <!ATTLIST xsl:if
 | |
|   test %expr; #REQUIRED
 | |
|   %space-att;
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:choose (xsl:when+, xsl:otherwise?)>
 | |
| <!ATTLIST xsl:choose %space-att;>
 | |
| 
 | |
| <!ELEMENT xsl:when %template;>
 | |
| <!ATTLIST xsl:when
 | |
|   test %expr; #REQUIRED
 | |
|   %space-att;
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:otherwise %template;>
 | |
| <!ATTLIST xsl:otherwise %space-att;>
 | |
| 
 | |
| <!ELEMENT xsl:attribute-set (xsl:attribute)*>
 | |
| <!ATTLIST xsl:attribute-set
 | |
|   name %qname; #REQUIRED
 | |
|   use-attribute-sets %qnames; #IMPLIED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:call-template (xsl:with-param)*>
 | |
| <!ATTLIST xsl:call-template
 | |
|   name %qname; #REQUIRED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:with-param %template;>
 | |
| <!ATTLIST xsl:with-param
 | |
|   name %qname; #REQUIRED
 | |
|   select %expr; #IMPLIED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:variable %template;>
 | |
| <!ATTLIST xsl:variable 
 | |
|   name %qname; #REQUIRED
 | |
|   select %expr; #IMPLIED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:param %template;>
 | |
| <!ATTLIST xsl:param 
 | |
|   name %qname; #REQUIRED
 | |
|   select %expr; #IMPLIED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:text (#PCDATA)>
 | |
| <!ATTLIST xsl:text
 | |
|   disable-output-escaping (yes|no) "no"
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:processing-instruction %char-template;>
 | |
| <!ATTLIST xsl:processing-instruction 
 | |
|   name %avt; #REQUIRED
 | |
|   %space-att;
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:element %template;>
 | |
| <!ATTLIST xsl:element 
 | |
|   name %avt; #REQUIRED
 | |
|   namespace %avt; #IMPLIED
 | |
|   use-attribute-sets %qnames; #IMPLIED
 | |
|   %space-att;
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:attribute %char-template;>
 | |
| <!ATTLIST xsl:attribute 
 | |
|   name %avt; #REQUIRED
 | |
|   namespace %avt; #IMPLIED
 | |
|   %space-att;
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:comment %char-template;>
 | |
| <!ATTLIST xsl:comment %space-att;>
 | |
| 
 | |
| <!ELEMENT xsl:copy %template;>
 | |
| <!ATTLIST xsl:copy
 | |
|   %space-att;
 | |
|   use-attribute-sets %qnames; #IMPLIED
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:message %template;>
 | |
| <!ATTLIST xsl:message
 | |
|   %space-att;
 | |
|   terminate (yes|no) "no"
 | |
| >
 | |
| 
 | |
| <!ELEMENT xsl:fallback %template;>
 | |
| <!ATTLIST xsl:fallback %space-att;>
 | |
| 
 |