1 <?xml version="1.0"?> 
   2 <?xml-stylesheet type="text/xsl" href="#style1"?>
   3 <!DOCTYPE doc [
   4 <!ELEMENT doc (#PCDATA | head | body)*>
   5 
   6 <!ELEMENT head (#PCDATA | xsl:stylesheet)*>
   7 <!ELEMENT body (#PCDATA|para)*>
   8 
   9 <!ELEMENT xsl:stylesheet (#PCDATA | xsl:key | xsl:template)*>
  10 <!ATTLIST xsl:stylesheet 
  11                   id ID #REQUIRED
  12                   xmlns:xsl CDATA #FIXED "http://www.w3.org/1999/XSL/Transform"
  13                   version NMTOKEN #REQUIRED>
  14 
  15 <!ELEMENT xsl:key EMPTY>
  16 <!ATTLIST xsl:key
  17     name NMTOKENS #REQUIRED
  18     match CDATA #REQUIRED
  19     use CDATA #REQUIRED>
  20 
  21 <!ELEMENT xsl:template (#PCDATA | out)*>
  22 <!ATTLIST xsl:template  match CDATA #IMPLIED>
  23 
  24 <!ELEMENT out (#PCDATA | xsl:value-of | xsl:text)*>
  25 
  26 <!ELEMENT xsl:value-of EMPTY>
  27 <!ATTLIST xsl:value-of select CDATA #REQUIRED>
  28 
  29 <!ELEMENT xsl:text (#PCDATA)>
  30 
  31 <!ELEMENT para (#PCDATA)*>
  32 <!ATTLIST para id ID #REQUIRED>
  33 ]>
  34 
  35 <doc>
  36   <head>
  37         <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  38                 id="style1">
  39 
  40         <!-- FileName: EmbeddedFragment/embed01 -->
  41         <!-- Document: http://www.w3.org/TR/xslt -->
  42         <!-- DocVersion: 19991116 -->
  43         <!-- Section: 2.7 Embedding Stylesheets. -->
  44         <!-- Purpose: General test of embedded stylesheet using fragment identifier -->
  45 
  46           <xsl:key name="test" match="para" use="@id"/>
  47 
  48                 <xsl:template match="/">
  49                         <out>
  50                         <xsl:value-of select="doc/body/para"/>
  51                                 <xsl:value-of select="key('test','foey')"/><xsl:text>
</xsl:text>
  52                         </out>
  53                 </xsl:template>
  54         </xsl:stylesheet>
  55   </head>
  56 
  57   <body>
  58         <para id="foo">
  59 Hello
  60         </para>
  61         <para id="foey">
  62 Goodbye
  63         </para>
  64   </body>
  65 </doc>