XML/XSLT stylesheet/id
id() function
<source lang="xml">
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")">
<xsl:value-of select="name" />
<xsl:value-of select="email" />
</xsl:if> </xsl:template>
</xsl:stylesheet>
</source>
ID: <xsl:value-of select="id(.)"/>
<source lang="xml">
File: Data.xml <?xml version="1.0" encoding="utf-8"?> <pp>
Element name: xsl:stylesheet
Local part: stylesheet
Namespace URI: http://www.w3.org/1999/XSL/Transform
ID:
</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="*">
Element name: <xsl:value-of select="name()"/>
Local part: <xsl:value-of select="local-name()"/>
Namespace URI: <xsl:value-of select="namespace-uri()"/>
ID: <xsl:value-of select="id(.)"/>
<xsl:apply-templates /> </xsl:template>
</xsl:stylesheet> Output:
<?xml version="1.0" encoding="UTF-8"?>Element name: pp
Local part: pp
Namespace URI:
ID:
Element name: P
Local part: P
Namespace URI:
ID:
Element name: xsl:stylesheetElement name: P
Local part: P
Namespace URI:
ID:
Local part: stylesheetElement name: P
Local part: P
Namespace URI:
ID:
Namespace URI: http://www.w3.org/1999/XSL/TransformElement name: P
Local part: P
Namespace URI:
ID:
ID:</source>