Tôi tìm thấy nó không thể có được với-param để làm việc với áp dụng các mẫu. Ví dụ, tôi đã hack các ví dụ được đưa ra trong w3schools.Tại sao tôi không thể lấy thông số để làm việc với các mẫu áp dụng trong XSL?
xsl
<xsl:template match="/">
<xsl:apply-templates>
<xsl:with-param name="test" select="'has this parameter been passed?'"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="cd">
<xsl:param name="test"></xsl:param>
parameter:
<xsl:value-of select="$test"></xsl:value-of>
</xsl:template>
xml
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
</catalog>
(Hy vọng), bạn sẽ thấy rằng các thông số kiểm tra không được chuyển cho template cd. Tôi có thể làm cho nó hoạt động khi sử dụng mẫu gọi, nhưng không áp dụng mẫu. Chuyện gì vậy? Tôi đang sử dụng XSL 1.0. Vui lòng bỏ qua thực tế là tôi đang chuyển một tham số được mã hóa cứng - đây chỉ là một ví dụ.
có - điều đó có tác dụng nhưng tại sao ví dụ ban đầu không hoạt động !? – Goran
Ahh. Nhưng tại sao không tham số được truyền cho cd? – darasd
danh mục là gốc ở đây, vì vậy ví dụ ban đầu sẽ hoạt động. Và nó có với libXSLT và Opera. – vartec