以文本方式查看主题 - 计算机科学论坛 (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=14102) |
-- 作者:lifangde125 -- 发布时间:1/28/2005 11:28:00 PM -- 请教xslt的问题 我在用xstl进行xml到xml的转换. 在xslt中,我将所有的statemachine定义成POU,然后要将operation的parameter定义成POU的interface,问题是statemachine和operation不在一个节点下,而且不是所有的operation都有parameter,我的程序如下 ..... <xsl:for-each select="Foundation.Core.Namespace.ownedElement/Model_Management_Package/statemachine"> <POU> <xsl:if test="../../../Foundation.Core.Namespace.ownedElement/Foundation.Core.Class/operation/@ID"> <interface/> ......... 在我的原xml文件中,只有一个operation有paramter 可是输出的结果是我所有的POU,都有interface,而且是重复的. 其实原因我也知道,但是我不知道怎么改,哪为高手可以帮我看看. |
-- 作者:菜籽 -- 发布时间:1/29/2005 12:04:00 AM -- 把原文给出来啊,那样别人帮你得时候也好帮啊,呵呵 这里告后很多啊,你早上来说不定问题已经解决了啊 |
-- 作者:lifangde125 -- 发布时间:1/30/2005 8:12:00 PM -- <xsl:for-each select="XMI/XMI.content/Foundation.Core.Namespace.ownedElement/Model_Management.Package/Foundation.Core.Namespace.ownedElement/Behavioral_Elements.State_Machines.StateMachine"> <pou> <xsl:if test= "../../../Foundation.Core.Class/Foundation.Core.Classifier.feature/Foundation.Core.Operation/@ID"> <xsl:for-each select="../../../Foundation.Core.Class/Foundation.Core.Classifier.feature/Foundation.Core.Operation/Foundation.Core.BehavioralFeature.parameter/Foundation.Core.Parameter"> <interface/> </xsl:for-each> </xsl:if> </POU> </xsl:for-each> Foundation.Core.Class和Model_Management.Package都在XMI/XMI.content/Foundation.Core.Namespace.ownedElement节点下. |
-- 作者:lifangde125 -- 发布时间:1/30/2005 8:56:00 PM -- 我的原程序如下,因为原程序太麻烦了,我稍作了修改,但不影响查看. <xsl:for-each select="XMI/XMI.content/Foundation.Core.Namespace.ownedElement/Model_Management.Package/Foundation.Core.Namespace.ownedElement/Behavioral_Elements.State_Machines.StateMachine"> Foundation.Core.Class和Model_Management.Package都在XMI/XMI.content/Foundation.Core.Namespace.ownedElement同级节点下. 原因其实也很清楚,因为我一直在最上面的循环中, 也就是对每一个的statemachine也就是POU, 我都要将所有的operation循环一遍,所以每一个POU都有了interface. 但是我不知道怎么改. 菜籽,你能帮我看看吗? 还有一个问题,我能对元素的attribute进行比较吗?比如说statemachine和operation的<xsl:attribute name="name">进行比较.如果可以的话,我可以在interface循环前加入name的比较,如果相等,比如都叫anlauf,再进行下面的查找. 非常感谢 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |