我使用了一个极简的MVC框架,在这个框架中PHP控制器将DOM模型传递给XSLT视图(参见okapi)。
为了构建导航树,我在MYSQL中使用了嵌套集。这样,我最终得到的模型XML如下所示:
<tree>
<node>
<name>root</name>
<depth>0</depth>
</node>
<node>
<name>TELEVISIONS</name>
<depth>1</depth>
</node>
<node>
<name>TUBE</name>
<depth>2</depth>
</node>
<node>
<name>LCD</name>
<depth>2</depth>
</node>
<node>
<name>PLASMA</name>
<depth>2</depth>
</node>
<node>
<name>PORTABLE ELECTRONICS</name>
<depth>1</depth>
</node>
<node>
<name>MP3 PLAYERS</name>
<depth>2</depth>
</node>
<node>
<name>FLASH</name>
<depth>3</depth>
</node>
<node>
<name>CD PLAYERS</name>
<depth>2</depth>
</node>
<node>
<name>2 WAY RADIOS</name>
<depth>2</depth>
</node>
</tree>
以下是代表以下结构的内容:
- 根
- 电视
- 管式电视
- 液晶电视
- 等离子电视
- 便携式电子产品
- MP3播放器
- 闪存型
- CD播放器
- 双向无线电
- MP3播放器
- 电视
如何使用XSLT将此扁平的XML列表转换为嵌套的HTML列表?
PS:这是来自在MySQL中管理分层数据的示例树。
<ul>[<li><ul>[etc]</ul></li>]</ul>
,其中[]
表示“可选,取决于数据”。 - Marc Gravell