【发布时间】:2015-05-18 13:36:09
【问题描述】:
这是输入的 xml。
<catalog>
<product>
<product_id>1234</product_id>
<categories>
<category>
<category_id>frame-shape_oval</category_id>
<category_name>frame-shape_oval</category_name>
</category>
<category>
<category_id>frame-shape_square</category_id>
<category_name>frame-shape_square</category_name>
</category>
<category>
<category_id>frame-color_tortoise</category_id>
<category_name>frame-color_tortoise</category_name>
</category>
<category>
<category_id>face-shape_oval</category_id>
<category_name>face-shape_oval</category_name>
</category>
<category>
<category_id>face-shape_square</category_id>
<category_name>face-shape_square</category_name>
</category>
<category>
<category_id>gender_men</category_id>
<category_name>gender_men</category_name>
</category>
<category>
<category_id>lens-color_gold rose</category_id>
<category_name>lens-color_gold rose</category_name>
</category>
<category>
<category_id>fit_average</category_id>
<category_name>fit_average</category_name>
</category>
</categories>
</product>
</catalog>
这是预期的转变
<catalog>
<product>
<product_id>1234</product_id>
<frame_shape>oval,square</frame_shape>
<frame_color>tortoise</frame_color>
<face_shape>oval,square</face_shape>
<gender>men</gender>
<lens_color>gold rose</lens_color>
<fit>average</fit>
</product>
</catalog>
这可以通过 xslt 转换实现吗?
- 将元素值转换为元素名称。例如:
<category_id>frame-shape_oval</category_id>变为<frame_shape>oval</frame_shape>。所以下划线之前的文本成为元素名称,下划线之后的文本成为元素值。 - 请注意,元素
<category_id>frame-shape 和 frame-color 在<product>中重复,但在<category_name>中具有不同的值。这些值用逗号连接。
【问题讨论】:
-
请说明您是否可以使用 XSLT 2.0 或仅使用 1.0。
-
应该是 XSLT 1.0