XML/XSLT stylesheet/document node

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

Is this a document node

File: Data.xml

File: Transform.xslt

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>
  <xsl:variable name="ill-formed" as="node()*">
    <xsl:document>
      <xsl:element name="title">
        <xsl:text>Mr.</xsl:text>
      </xsl:element>
      <xsl:element name="first-name">
        <xsl:text>Kent Lyle</xsl:text>
      </xsl:element>
      <xsl:element name="last-name">
        <xsl:text>Birdley</xsl:text>
      </xsl:element>
    </xsl:document>
  </xsl:variable>
  <xsl:template match="/">
    <xsl:text>Is this a document node? </xsl:text>
    <xsl:value-of select="if ($ill-formed instance of document-node())
                          then "Yes!"
                          else "No!""/>
    <xsl:text>&#xA;  Number of child elements: </xsl:text>
    <xsl:value-of select="count($ill-formed/*)"/>
  </xsl:template>
</xsl:stylesheet>