XML/XSLT stylesheet/processing instruction — различия между версиями

Материал из Web эксперт
Перейти к: навигация, поиск
 
м (1 версия)
 
(нет различий)

Текущая версия на 11:26, 26 мая 2010

Generate processing-instruction

   <source lang="xml">

File: Data.xml <poem>

 <verse>line 1</verse>
 <verse>line 2</verse>
 <picture picfile="squadron" />
 <verse>line 3</verse>
 <verse>line 4</verse>
 <verse>line 5</verse>
 <picture picfile="ceres" />

</poem> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 version="1.0">
 <xsl:output method="xml" omit-xml-declaration="yes" indent="no" />
 <xsl:template match="verse">
   <xsl:processing-instruction name="xml-stylesheet">
     <xsl:text>href="headlines.css" type="text/css"</xsl:text>
   </xsl:processing-instruction>
   <html>
     <xsl:apply-templates />
   </html>
 </xsl:template>
 

</xsl:stylesheet> Output:

 <?xml-stylesheet href="headlines.css" type="text/css"?><html>line 1</html>
 <?xml-stylesheet href="headlines.css" type="text/css"?><html>line 2</html>
 
 <?xml-stylesheet href="headlines.css" type="text/css"?><html>line 3</html>
 <?xml-stylesheet href="headlines.css" type="text/css"?><html>line 4</html>
 <?xml-stylesheet href="headlines.css" type="text/css"?><html>line 5</html>
 
</source>
   
  


match="processing-instruction()"

   <source lang="xml">

File: Data.xml <?xml-stylesheet href="headlines.css" type="text/css"?> <verse>text</verse> <?smellPlugIn scent="newCar" duration="12secs"?> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 version="1.0">
 <xsl:output method="xml" omit-xml-declaration="yes" indent="no" />
 
 <xsl:template match="processing-instruction()">
   <xsl:copy />
 </xsl:template>
 

</xsl:stylesheet> Output: <?xml-stylesheet scent="newCar" duration="12secs"?>text<?smellPlugIn scent="newCar" duration="12secs"?>

</source>
   
  


Match processing-instruction()|comment()

   <source lang="xml">

File: Data.xml

<wine grape="Chardonnay">

 <product>product 2</product>
 <year>1997</year>
 <price>10.99</price>

</wine> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 version="1.0">
 <xsl:template match="wine[@grape="Cabernet"]">
   <xsl:copy>
     <xsl:apply-templates />
   </xsl:copy>
 </xsl:template>
 <xsl:template match="wine" />
 <xsl:template match="@*|node()|processing-instruction()|comment()">
   <xsl:copy>
     <xsl:apply-templates
       select="@*|node()|processing-instruction()|comment()" />
   </xsl:copy>
 </xsl:template>

</xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?>

</source>
   
  


match="processing-instruction("xml-stylesheet")"

   <source lang="xml">

File: Data.xml <?xml-stylesheet href="headlines.css" type="text/css"?> <verse>text</verse> <?smellPlugIn scent="newCar" duration="12secs"?> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 version="1.0">
 <xsl:output method="xml" omit-xml-declaration="yes" indent="no" />
 
 <xsl:template match="processing-instruction("xml-stylesheet")">
   <stylesheet>
     <xsl:value-of select="." />
   </stylesheet>
 </xsl:template>
 <xsl:template match="processing-instruction("smellPlugIn")">
   <smellData>
     <xsl:value-of select="." />
   </smellData>
 </xsl:template>
 <xsl:template match="verse">

<xsl:apply-templates />

 </xsl:template>

</xsl:stylesheet> Output:

<stylesheet>scent="newCar" duration="12secs"</stylesheet>

text

<smellData>scent="newCar" duration="12secs"</smellData>
</source>
   
  


processing-instruction with xlink

   <source lang="xml">

File: Data.xml <stylesheetFile type="text/css">headlines.css</stylesheetFile>

File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 version="1.0">
 <xsl:output method="xml" omit-xml-declaration="yes" indent="no" />
 
 <xsl:template match="stylesheetFile">
   <xsl:processing-instruction name="xml-stylesheet">
     href="
     <xsl:value-of select="." />
     " type="
     <xsl:value-of select="@type" />
     "
   </xsl:processing-instruction>
 </xsl:template>
 

</xsl:stylesheet> Output: <?xml-stylesheet href="

     headlines.css
     " type="
     text/css
     "
   ?>
</source>