XML/XSLT stylesheet/id
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: