0
匹配具有特定节点的元素是一个问题。xslt中匹配命名空间的问题
的XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" herf="B1.xsl"?>
<profile xmlns:base = "urn:mytest:baseInfo"
xmlns:prf="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20021212#">
<base:Description>
<base:text>description of profile</base:text>
</base:Description>
<prf:Component>
<prf:Keyboard>PhoneKeyPad</prf:Keyboard>
<prf:Model>SampleModel</prf:Model>
<prf:NumberOfSoftKeys>3</prf:NumberOfSoftKeys>
<prf:PixelAspectRatio>1x1</prf:PixelAspectRatio>
<prf:ScreenSize>128x240</prf:ScreenSize>
</prf:Component>
</profile>
和XSLT是:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:base = "urn:mytest:baseInfo" xmlns:prf="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20021212#">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="prf:*">
<xsl:variable name="temp">
<xsl:value-of select="local-name(.)"/>
</xsl:variable>
<xsl:element name="{$temp}">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
结果是:
<?xml version="1.0" encoding="UTF-8"?>description of profile<Component>
<Keyboard>PhoneKeyPad</Keyboard>
<Model>SampleModel</Model>
<NumberOfSoftKeys>3</NumberOfSoftKeys>
<PixelAspectRatio>1x1</PixelAspectRatio>
<ScreenSize>128x240</ScreenSize>
</Component>
为什么 “配置文件的说明” 也输出?它有“基础”命名空间。
在此先感谢。