XSL Dönüşümleri (XSLT) Sürüm 1.0
ÖncekiYukarıSonraki

C XSLT Biçembentlerinde DTD Bölümü (Bilgilendirici)

Not:
XML 1.0 DTD'leri XML isim-alanlarını desteklemediğinden bu DTD Bölümü bilgilendirici niteliktedir ve bu bakımdan bir XSLT biçembendinde izin verilen yapıyı gerektiği gibi açıklayamaz.

Aşağıdaki öğe, belli bir hedef DTD'sinin nesnel sonucunu oluşturacak XSLT biçembentleri için bir DTD oluşturmakta kullanılabilir. Öğeye atıfta bulunmadan önce, biçembent DTD'si izin verilen hedef eleman türlerini listeleyen bir result-elements değergeç öğesi tanımlamalıdır. Örnek:

<!ENTITY % result-elements "
  | fo:inline-sequence
  | fo:block
">

Böyle hedef elemanları xsl:use-attribute-sets ve xsl:extension-element-prefixes özniteliklerine sahip olarak bildirilmelidir. Aşağıdaki öğe, result-element-atts değergecini bu amaçla bildirmektedir. XSLT'nin hedef elemanlar için izin verdiği içerik, %template; içerik modeliyle aşağıda öğede bildirilen XSLT elemanları için izin verilenlerle aynıdır. DTD, hedef DTD'nin kısıtlamalarına uygun olarak %template;'den daha kısıtlayıcı içerik modelleri kullanabilir.

XSLT isim-alanından farklı isim-alanlarındaki tepe-seviyeden elemanlara da izin vermek için DTD non-xsl-top-level diye bir değergeç öğesi tanımlayabilir.

Bu DTD'deki xsl: öneki kullanımı XSLT biçembentlerinin bu öneki kullanmaları zorunludur anlamında ele alınmamalıdır. Bu DTD'de bildirilmiş herhangi bir eleman, bu DTD'de bildirilmiş özniteliklere ek olarak isimleri xmlns'e eşit veya xmlns: ile başlayan özniteliklere sahip olabilir.

<!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;)*
">

<!-- Değeri bir tanım-yeri başvurusu olan
     bir öznitelik türü için kullanılır. -->
<!ENTITY % URI "CDATA">

<!-- Değeri bir örüntü olan bir öznitelik türü için kullanılır. -->
<!ENTITY % pattern "CDATA">

<!-- Değeri bir öznitelik değeri örneklenimi
     olan bir öznitelik türü için kullanılır. -->
<!ENTITY % avt "CDATA">

<!-- Değeri bir NitelAd olan bir öznitelik türü için kullanılır;
     önek, XSLT işlemcinin yorumladığı bir önek olacaktır. -->
<!ENTITY % qname "NMTOKEN">

<!-- %qname; gibi ama bu onların boşluk ayraçlı bir listesi. -->
<!ENTITY % qnames "NMTOKENS">

<!-- Değeri bir ifade olan bir öznitelik türü için kullanılır. -->
<!ENTITY % expr "CDATA">

<!-- Değeri tek bir karakterden oluşan
     bir öznitelik türü için kullanılır. -->
<!ENTITY % char "CDATA">

<!-- Değeri bir öncelik belirten bir
     öznitelik türü için kullanılır. -->
<!ENTITY % priority "NMTOKEN">

<!ENTITY % space-att "xml:space (default|preserve) #IMPLIED">

<!-- Bu tepe-seviyede izin verilmiş eleman listesini
     genişleten bir özelleştirme olabilir. -->
<!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;
'>

<!-- Bu öğe hedef elemanların ATTLIST bildirimlerinde
     kullanmak için tanımlanmıştır. -->

<!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;  "&#x2030;"
  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, bir boşluk olmayan karakterden
     veya bir imlenimden sonra yer alamaz. -->

<!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;>

ÖncekiYukarıSonraki
Elemanların Özet SözdizimleriBir Linux Kitaplığı SayfasıÖrnekler