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"> 59Hello 60 </para> 61 <para id="foey"> 62Goodbye 63 </para> 64 </body> 65</doc> 66