<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="no" encoding="windows-1251"/>
<xsl:template match="/">
<xsl:for-each select="document('')//w">
<xsl:value-of select="@e"/>
</xsl:for-each>
</xsl:template>
<my:translations xmlns:my="my:my">
<w e="name" r="Название"/>
<w e="model" r="Модель"/>
<w e="year" r="Год"/>
<w e="glass_type" r="Тип"/>
<w e="scancode" r="Сканкод"/>
<w e="eurocode" r="Еврокод"/>
<w e="comment" r="Комментарий"/>
<w e="glass_size" r="Размер"/>
<w e="vendor" r="Производитель"/>
<w e="trademark" r="Торговая марка"/>
<w e="fprice" r="Цена"/>
</my:translations>
</xsl:stylesheet>
我没有结果。怎么了?
请原谅我在提出问题时的粗心大意。
答案 0 :(得分:0)
应该没有任何问题。这个样式表:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<my:translations xmlns:my="my:my">
<w e="name" r="Название"/>
<w e="model" r="Модель"/>
<w e="year" r="Год"/>
<w e="glass_type" r="Тип"/>
<w e="scancode" r="Сканкод"/>
<w e="eurocode" r="Еврокод"/>
<w e="comment" r="Комментарий"/>
<w e="glass_size" r="Размер"/>
<w e="vendor" r="Производитель"/>
<w e="trademark" r="Торговая марка"/>
<w e="fprice" r="Цена"/>
</my:translations>
<xsl:template match="/">
<root>
<xsl:value-of select="count(document('')//w)"/>
</root>
</xsl:template>
</xsl:stylesheet>
这是任何输入的结果:
<root>11</root>
修改:使用您发布的新样式表,我得到了预期的结果:
namemodelyearglass_typescancodeeurocodecommentglass_sizevendortrademarkfprice
答案 1 :(得分:0)
最可能的问题 - 在您礼貌未显示的代码中 - 是一个可能的默认命名空间。
如果是这种情况(除此之外我擅长算命),这意味着解决方案将如下所示:
document('')//x:w
其中prefic x:
绑定到您的默认命名空间。
答案 2 :(得分:0)
更新:OP终于发布了他的代码。 代码中没有问题。
提供转换时:
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="no" encoding="windows-1251"/>
<xsl:template match="/">
<xsl:for-each select="document('')//w">
<xsl:value-of select="@e"/>
</xsl:for-each>
</xsl:template>
<my:translations xmlns:my="my:my">
<w e="name" r="Название"/>
<w e="model" r="Модель"/>
<w e="year" r="Год"/>
<w e="glass_type" r="Тип"/>
<w e="scancode" r="Сканкод"/>
<w e="eurocode" r="Еврокод"/>
<w e="comment" r="Комментарий"/>
<w e="glass_size" r="Размер"/>
<w e="vendor" r="Производитель"/>
<w e="trademark" r="Торговая марка"/>
<w e="fprice" r="Цена"/>
</my:translations>
</xsl:stylesheet>
在任何XML文档(未使用)上运行7个XSLT 1.0处理器和2个XSLT 2.0处理器,所有这些都产生相同的正确和想要的结果:
namemodelyearglass_typescancodeeurocodecommentglass_sizevendortrademarkfprice