hi tôi có một tài liệu xml sitemap mà trông giống như sauXSLT copy-of không có con
<pagenode title="home" url="~/" fornavbar="true">
<pagenode title="admin" url="~/admin" fornavbar="false">
<pagenode title="users" url="~/admin/users" fornavbar="false"/>
<pagenode title="events" url="~/admin/events" fornavbar="true"/>
</pagenode>
<pagenode title="catalog" url="~/catalog" fornavbar="true"/>
<pagenode title="contact us" url="~/contactus" fornavbar="false"/>
</pagenode>
bây giờ tôi muốn lấy một tài liệu xml cho navbar, trong đó bao gồm tất cả các pagenodes có fornavbar = thật. Điều này có thể giải quyết như thế nào?
gần nhất tôi đã có thể để có được cho đến nay là thế này:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="pagenode[@fornavbar='true']">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
vấn đề với điều này là bao gồm tất cả các trẻ em bất cứ điều gì phù hợp như navbar
tôi chỉ muốn sao chép tất cả các thuộc tính , không phải tất cả các trẻ em
nhưng nếu tôi cố gắng
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="pagenode[@fornavbar='true']">
<pagenode title="{@title}" url="{@url}"/>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
sau đó tôi có 2 vấn đề
- tôi có thể gõ ra từng thuộc tính riêng biệt, và tôi có khá nhiều mỗi trang và họ đang apt để thay đổi cuối cùng
- nó sẽ mất thứ bậc. mọi thứ trở nên bằng phẳng sau khi khác
tôi sẽ đánh giá cao tất cả và mọi trợ giúp trong vấn đề.
cảm ơn bạn!
EDIT: sản lượng mẫu mà id muốn thấy
<pagenode title="home" url="~/" fornavbar="true">
<pagenode title="events" url="~/admin/events" fornavbar="true"/>
<pagenode title="catalog" url="~/catalog" fornavbar="true"/>
</pagenode>
Câu hỏi hay, +1. Xem câu trả lời của tôi cho một giải pháp hoàn chỉnh nhưng rất ngắn, khai thác triệt để mẫu thiết kế XSLT cơ bản nhất. :) –