XML/XSLT stylesheet/namespace uri

Материал из Web эксперт
Версия от 08:26, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

namespace-uri() function

File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<emailList>
  <head:header xmlns:head="http://www.domain.ru/namespace/header">
    <title>Email List</title>
    <maintainer>Joe</maintainer>
  </head:header>
  <person type="personal" id="p001">
    <name>person1</name>
    <email>p@hotmail.ru</email>
  </person>
  <person type="work" id="p002">
    <name>person2</name>
    <email>p@hotmail.ru</email>
  </person>
  <person type="personal" id="p003">
    <name>person3</name>
    <email>p3@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"
  xmlns:head="http://www.domain.ru/namespace/header">
  <xsl:output method="xml" indent="yes" />
  <xsl:template match="/">
    <xsl:apply-templates select="emailList/head:header" />
  </xsl:template>
  <xsl:template match="head:header">
    The namespace URI is:
    <xsl:value-of select="namespace-uri()" />
  </xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?>
    The namespace URI is:
    http://www.domain.ru/namespace/header



Namespace URI: <xsl:value-of select="namespace-uri()"/>

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: