XML/XSLT stylesheet/processing instruction — различия между версиями
Admin (обсуждение | вклад) м (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>