XML/XSLT stylesheet/id

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

id() function

File: Data.xml
<?xml version="1.0" encoding="UTf-8" ?>
<emailList>
  <person>
    <name>name 1</name>
    <email>g@gmail.ru</email>
  </person>
  <person>
    <name>name 2</name>
    <email>n@hotmail.ru</email>
  </person>
</emailList>
File: Transform.xslt
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <xsl:apply-templates />
  </xsl:template>
  <xsl:template match="emailList/person">
    <xsl:if test="id("p001 p002")">
      <div id="{@id}">
        <div>
          <xsl:value-of select="name" />
        </div>
        <div>
          <xsl:value-of select="email" />
        </div>
      </div>
    </xsl:if>
  </xsl:template>
</xsl:stylesheet>



ID: <xsl:value-of select="id(.)"/>

File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<pp>
    <P>Element name: xsl:stylesheet</P>
    <P>Local part: stylesheet</P>
    <P>Namespace URI: http://www.w3.org/1999/XSL/Transform</P>
    <P>ID:</P>
</pp>

File: Transform.xslt
<?xml version="1.0"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="*">
    <P>Element name: <xsl:value-of select="name()"/></P>
    <P>Local part: <xsl:value-of select="local-name()"/></P>
    <P>Namespace URI: <xsl:value-of select="namespace-uri()"/></P>
    <P>ID: <xsl:value-of select="id(.)"/></P>
    <xsl:apply-templates />
  </xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?><P>Element name: pp</P><P>Local part: pp</P><P>Namespace URI: </P><P>ID: </P>
    <P>Element name: P</P><P>Local part: P</P><P>Namespace URI: </P><P>ID: </P>Element name: xsl:stylesheet
    <P>Element name: P</P><P>Local part: P</P><P>Namespace URI: </P><P>ID: </P>Local part: stylesheet
    <P>Element name: P</P><P>Local part: P</P><P>Namespace URI: </P><P>ID: </P>Namespace URI: http://www.w3.org/1999/XSL/Transform
    <P>Element name: P</P><P>Local part: P</P><P>Namespace URI: </P><P>ID: </P>ID: