⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xslt.dtd

📁 xml 组建工程 不多说说 很都功能 就是懒得整理
💻 DTD
字号:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- This DTD is extracted from the XSLT 1.0 specification, Appendix C.

	 The DTD has been modified to allow the default xsl: prefix to be replaced
	 with the contents of the xslt-prefix parameter entity. Note that
	 xslt-prefix must NOT include the trailing colon.
	 
	 Since none is suggested by the standard, the DTD can be used with a
	 PUBLIC id of "http://xmlbuddy.com/XSLT_1.0/DTD" and a
	 SYSTEM id of "http://xmlbuddy.com/XSLT_1.0/DTD/xslt.dtd".
	 There is no guarantee that a dtd will be found at that location;
	 the ids simply provide a unique name.
	 
	 When the stylesheet contains XML content in addition to XSLT
	 the result-elements parameter entity must be defined to describe
	 all XML elements that can appear within template content.
	 The non-xsl-top-level parameter entity may be defined to describe
	 XML elements that can appear at the top level.
	 
	 These XML elements should allow the xsl:use-attribute-sets and xsl:extension-element-prefixes
	 attributes. The result-element-atts parameter entity is defined in this
	 DTD for that purpose. This may cause a circularity problem, since
	 result-elements is likely to be defined in terms of parameter entities
	 defined in the same DTD that declares the attlists for the elements.
	 In this case, the result-element-atts definition may be copied out.
	 For example, the following DTD allows the use of XHTML
	 in XSLT template content.

<!ENTITY % xslt-prefix "t">
<!ENTITY % result-element-atts '
  t:extension-element-prefixes CDATA #IMPLIED
  t:exclude-result-prefixes CDATA #IMPLIED
  t:use-attribute-sets %qnames; #IMPLIED
  t:version NMTOKEN #IMPLIED
'>
<!ENTITY % LanguageCode "NMTOKEN">
<!ENTITY % i18n
 "lang        %LanguageCode; #IMPLIED
  xml:lang    %LanguageCode; #IMPLIED
  dir         (ltr|rtl)      #IMPLIED"
  %result-element-atts;
  >
<!ENTITY % xhtml-defns PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
%xhtml-defns;
<!ENTITY % result-elements "">
<!ENTITY % xslt-defns PUBLIC "http://xmlbuddy.com/XSLT_1.0/DTD"
   SYSTEM "http://xmlbuddy.com/XSLT_1.0/DTD/xslt.dtd">
%xslt-defns;
	 
-->
<!ENTITY % xslt-prefix "xsl">

<!-- Prefixed element names -->
<!ENTITY % stylesheet "%xslt-prefix;:stylesheet">
<!ENTITY % transform "%xslt-prefix;:transform">
<!ENTITY % import "%xslt-prefix;:import">
<!ENTITY % include "%xslt-prefix;:include">
<!ENTITY % strip-space "%xslt-prefix;:strip-space">
<!ENTITY % preserve-space "%xslt-prefix;:preserve-space">
<!ENTITY % output "%xslt-prefix;:output">
<!ENTITY % key "%xslt-prefix;:key">
<!ENTITY % decimal-format "%xslt-prefix;:decimal-format">
<!ENTITY % namespace-alias "%xslt-prefix;:namespace-alias">
<!ENTITY % template "%xslt-prefix;:template">
<!ENTITY % value-of "%xslt-prefix;:value-of">
<!ENTITY % copy-of "%xslt-prefix;:copy-of">
<!ENTITY % number "%xslt-prefix;:number">
<!ENTITY % apply-templates "%xslt-prefix;:apply-templates">
<!ENTITY % apply-imports "%xslt-prefix;:apply-imports">
<!ENTITY % for-each "%xslt-prefix;:for-each">
<!ENTITY % sort "%xslt-prefix;:sort">
<!ENTITY % if "%xslt-prefix;:if">
<!ENTITY % when "%xslt-prefix;:when">
<!ENTITY % otherwise "%xslt-prefix;:otherwise">
<!ENTITY % choose "%xslt-prefix;:choose">
<!ENTITY % attribute "%xslt-prefix;:attribute">
<!ENTITY % attribute-set "%xslt-prefix;:attribute-set">
<!ENTITY % call-template "%xslt-prefix;:call-template">
<!ENTITY % with-param "%xslt-prefix;:with-param">
<!ENTITY % variable "%xslt-prefix;:variable">
<!ENTITY % param "%xslt-prefix;:param">
<!ENTITY % text "%xslt-prefix;:text">
<!ENTITY % processing-instruction "%xslt-prefix;:processing-instruction">
<!ENTITY % element "%xslt-prefix;:element">
<!ENTITY % comment "%xslt-prefix;:comment">
<!ENTITY % copy "%xslt-prefix;:copy">
<!ENTITY % message "%xslt-prefix;:message">
<!ENTITY % fallback "%xslt-prefix;:fallback">

<!ENTITY % char-instructions "
  | %apply-templates;
  | %call-template;
  | %apply-imports;
  | %for-each;
  | %value-of;
  | %copy-of;
  | %number;
  | %choose;
  | %if;
  | %text;
  | %copy;
  | %variable;
  | %message;
  | %fallback;
">

<!ENTITY % instructions "
  %char-instructions;
  | %processing-instruction;
  | %comment;
  | %element;
  | %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-xslt-top-level "">

<!ENTITY % top-level "
 (%import;*,
  (%include;
  | %strip-space;
  | %preserve-space;
  | %output;
  | %key;
  | %decimal-format;
  | %attribute-set;
  | %variable;
  | %param;
  | %template;
  | %namespace-alias;
  %non-xslt-top-level;)*)
">

<!ENTITY % top-level-atts '
  extension-element-prefixes CDATA #IMPLIED
  exclude-result-prefixes CDATA #IMPLIED
  id ID #IMPLIED
  version NMTOKEN #REQUIRED
  xmlns:%xslt-prefix; 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 '
  extension-element-prefixes CDATA #IMPLIED
  exclude-result-prefixes CDATA #IMPLIED
  use-attribute-sets %qnames; #IMPLIED
  version NMTOKEN #IMPLIED
'>

<!ELEMENT %stylesheet; %top-level;>
<!ATTLIST %stylesheet; %top-level-atts;>

<!ELEMENT %transform; %top-level;>
<!ATTLIST %transform; %top-level-atts;>

<!ELEMENT %import; EMPTY>
<!ATTLIST %import; href %URI; #REQUIRED>

<!ELEMENT %include; EMPTY>
<!ATTLIST %include; href %URI; #REQUIRED>

<!ELEMENT %strip-space; EMPTY>
<!ATTLIST %strip-space; elements CDATA #REQUIRED>

<!ELEMENT %preserve-space; EMPTY>
<!ATTLIST %preserve-space; elements CDATA #REQUIRED>

<!ELEMENT %output; EMPTY>
<!ATTLIST %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 %key; EMPTY>
<!ATTLIST %key;
  name %qname; #REQUIRED
  match %pattern; #REQUIRED
  use %expr; #REQUIRED
>

<!ELEMENT %decimal-format; EMPTY>
<!ATTLIST %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; "&#x2030;"
  zero-digit %char; "0"
  digit %char; "#"
  pattern-separator %char; ";"
>

<!ELEMENT %namespace-alias; EMPTY>
<!ATTLIST %namespace-alias;
  stylesheet-prefix CDATA #REQUIRED
  result-prefix CDATA #REQUIRED
>

<!ELEMENT %template;
 (#PCDATA
  %instructions;
  %result-elements;
  | %param;)*
>

<!ATTLIST %template;
  match %pattern; #IMPLIED
  name %qname; #IMPLIED
  priority %priority; #IMPLIED
  mode %qname; #IMPLIED
  %space-att;
>

<!ELEMENT %value-of; EMPTY>
<!ATTLIST %value-of;
  select %expr; #REQUIRED
  disable-output-escaping (yes|no) "no"
>

<!ELEMENT %copy-of; EMPTY>
<!ATTLIST %copy-of; select %expr; #REQUIRED>

<!ELEMENT %number; EMPTY>
<!ATTLIST %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 %apply-templates; (%sort;|%with-param;)*>
<!ATTLIST %apply-templates;
  select %expr; "node()"
  mode %qname; #IMPLIED
>

<!ELEMENT %apply-imports; EMPTY>

<!-- sort cannot occur after any other elements or
any non-whitespace character -->

<!ELEMENT %for-each;
 (#PCDATA
  %instructions;
  %result-elements;
  | %sort;)*
>

<!ATTLIST %for-each;
  select %expr; #REQUIRED
  %space-att;
>

<!ELEMENT %sort; EMPTY>
<!ATTLIST %sort;
  select %expr; "."
  lang %avt; #IMPLIED
  data-type %avt; "text"
  order %avt; "ascending"
  case-order %avt; #IMPLIED
>

<!ELEMENT %if; %template;>
<!ATTLIST %if;
  test %expr; #REQUIRED
  %space-att;
>

<!ELEMENT %when; %template;>
<!ATTLIST %when;
  test %expr; #REQUIRED
  %space-att;
>

<!ELEMENT %otherwise; %template;>
<!ATTLIST %otherwise; %space-att;>

<!ELEMENT %choose; (%when;+, %otherwise;?)>
<!ATTLIST %choose; %space-att;>

<!ELEMENT %attribute; %char-template;>
<!ATTLIST %attribute; 
  name %avt; #REQUIRED
  namespace %avt; #IMPLIED
  %space-att;
>

<!ELEMENT %attribute-set; (%attribute;)*>
<!ATTLIST %attribute-set;
  name %qname; #REQUIRED
  use-attribute-sets %qnames; #IMPLIED
>

<!ELEMENT %call-template; (%with-param;)*>
<!ATTLIST %call-template;
  name %qname; #REQUIRED
>

<!ELEMENT %with-param; %template;>
<!ATTLIST %with-param;
  name %qname; #REQUIRED
  select %expr; #IMPLIED
>

<!ELEMENT %variable; %template;>
<!ATTLIST %variable; 
  name %qname; #REQUIRED
  select %expr; #IMPLIED
>

<!ELEMENT %param; %template;>
<!ATTLIST %param; 
  name %qname; #REQUIRED
  select %expr; #IMPLIED
>

<!ELEMENT %text; (#PCDATA)>
<!ATTLIST %text;
  disable-output-escaping (yes|no) "no"
>

<!ELEMENT %processing-instruction; %char-template;>
<!ATTLIST %processing-instruction; 
  name %avt; #REQUIRED
  %space-att;
>

<!ELEMENT %element; %template;>
<!ATTLIST %element; 
  name %avt; #REQUIRED
  namespace %avt; #IMPLIED
  use-attribute-sets %qnames; #IMPLIED
  %space-att;
>

<!ELEMENT %comment; %char-template;>
<!ATTLIST %comment; %space-att;>

<!ELEMENT %copy; %template;>
<!ATTLIST %copy;
  %space-att;
  use-attribute-sets %qnames; #IMPLIED
>

<!ELEMENT %message; %template;>
<!ATTLIST %message;
  %space-att;
  terminate (yes|no) "no"
>

<!ELEMENT %fallback %template;>
<!ATTLIST %fallback; %space-att;>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -