|
以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 XSL/XSLT/XSL-FO/CSS 』 (http://bbs.xml.org.cn/list.asp?boardid=8) ---- xslt如何进行多结点比较并加标记,高手帮帮忙! (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=52782) |
|
-- 作者:frestlily -- 发布时间:9/18/2007 10:12:00 AM -- xslt如何进行多结点比较并加标记,高手帮帮忙! 问题:通过比较两个结点,找出相同和不同,记录所有修改的内容和标记。 如: <!-- 原始值内容 --> <response> <list code="list" count="3"> <item> <property code="listId"> <value>1</value> </property> <property code="content"> <value><![CDATA[列表1内容]]></value> </property> </item> <item> <property code="listId"> <value>2</value> </property> <property code="content"> <value><![CDATA[列表2内容old]]></value> </property> </item> </list> </response> <!--更改后的内容 --> <request> <list code="list" count="2"> <item> <property code="listId"> <value>2</value> </property> <property code="content"> <value><![CDATA[列表2修改内容]]></value> </property> </item> <item> <property code="listId"> <value>3</value> </property> <property code="content"> <value><![CDATA[新加的内容]]></value> </property> </item> </list> </request> 通过xslt摸板进行比较和转换,生成结果如下: <!-- xslt转换后生成的内容 --> <request> <list code="list" count="3"> <item operation="delete"> <property code="listId"> <value>1</value> </property> <property code="content"> <value><![CDATA[列表1内容]]></value> </property> </item> <item operation="update"> <property code="listId"> <value>2</value> </property> <property code="content"> <value><![CDATA[列表2修改内容]]></value> </property> </item> <item operation="insert"> <property code="listId"> <value>3</value> </property> <property code="content"> <value><![CDATA[新加的内容]]></value> </property> </item> </list> </request> 试了多回,还是不行,请大家帮帮忙。 |
|
-- 作者:luypmp -- 发布时间:9/20/2007 8:41:00 PM -- 楼主这个几个xml文件太有才了, 仔细研究中
|
|
-- 作者:luypmp -- 发布时间:9/20/2007 9:37:00 PM -- 有点灵感了! 可以把list看成一个数据表datatable,两个字段(listId,content),其中listId为这个表的主键, 对于原始值内容,就相当于这个表有两列: listId content 1 列表1内容 2 列表2内容old 对于更改后的内容,这个表中的内容就变成了: listId content 2 列表2修改内容 3 新加的内容 由于listId为主键,所以对这个表的修改过程就是: listId为1的行被删除 listId为2的行由于content变了所以这行就被更新了 listId为3的行由于原始表中没有这列,所以它就是新插入的行了 |
|
-- 作者:luypmp -- 发布时间:9/20/2007 9:43:00 PM -- 楼主,这几个xml是书上的吗?如果是,不知书名是什么? 如果不是,那太遗憾了,呵呵,那我就看不到这么精彩的内容了; 其实我是做软件开发,而又跟xslt相关,所以看到楼主的例子有点兴奋了 |
|
-- 作者:frestlily -- 发布时间:9/21/2007 10:57:00 AM -- 呵呵,再次感谢luypmp:) 我的处理和你的相同,是少了个条件,得在list中加个keycode,象数据库表的id一样标识一个唯一的item结点,这样就可以处理了。 另: 这个xml 文件是自己定义的。呵呵! 我也正在处理xslt相关的东西,好多问题还请多指教。 |
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.500ms |