này là rất đơn giản: Sử dụng danh tính biến đổi và tạo ra một mẫu mà biến đổi thuộc tính name
:
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@name">
<xsl:attribute name="id">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
này sẽ để lại tất cả mọi thứ trong tài liệu trừ name
thuộc tính chính xác như nó được. Nếu bạn chỉ muốn thay đổi thuộc tính name
trên các yếu tố person
, hãy đặt XPath hạn chế hơn trong thuộc tính match
của mẫu, ví dụ: person/@name
.
Nguồn
2010-04-21 04:24:35
Điều đó có vẻ giống như đổi tên thuộc tính cho tôi, trừ khi có nhiều trường hợp thực tế của bạn không được đưa vào câu hỏi. –