Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 使用xsl转换将UML图转换为规范Z_Xml_Xslt_Uml_Diagram_Transformation - Fatal编程技术网

Xml 使用xsl转换将UML图转换为规范Z

Xml 使用xsl转换将UML图转换为规范Z,xml,xslt,uml,diagram,transformation,Xml,Xslt,Uml,Diagram,Transformation,我试图将一些uml图(singleton,AbstractFactory…)转换为Z规范,首先我使用starUML将uml图转换为xml文件,然后 我使用xsl程序和saxon将xml文件转换为.tex(代表Z),但它不起作用。 如果有人知道应该如何编写xsl程序(也许只是步骤),那就太好了 谢谢我想说,这通常是一个非常糟糕的主意。存储UML有许多不同的格式。XMI是一个标准,但是至少有三个不同的版本,它们非常复杂。使用XSLT将XML转换为TeX肯定也是一个相当大的障碍,特别是当您试图获得Z规

我试图将一些uml图(singleton,AbstractFactory…)转换为Z规范,首先我使用starUML将uml图转换为xml文件,然后 我使用xsl程序和saxon将xml文件转换为.tex(代表Z),但它不起作用。 如果有人知道应该如何编写xsl程序(也许只是步骤),那就太好了


谢谢

我想说,这通常是一个非常糟糕的主意。存储UML有许多不同的格式。XMI是一个标准,但是至少有三个不同的版本,它们非常复杂。使用XSLT将XML转换为TeX肯定也是一个相当大的障碍,特别是当您试图获得Z规范时,它是一个功能性和过程性的规范,而UML是基于面向对象编程的。
我认为它们可能是实现你想要的更好的方式。以Maude for Eclipse为例,它可以从基于EMF(Eclipse建模框架)的模型生成Maude规范(代数数据类型规范),也可以是Eclipse工具中的UML2。

与其尝试编写XSLT转换,不如编写模型到文本的转换。给定UML模型作为UML元模型的一个实例(类似于AST),您可以编写一个模型到文本的转换,该转换遍历UML模型并生成相应的文本。为此,有几个Eclipse项目


另一个解决方案(更简洁但也更复杂)是定义Z的元模型,并编写两个元模型之间的模型到模型转换。

什么是Z?您将UML转换成的XML格式是什么?Maude for Eclipse似乎有点糟糕……他们提到了Eclipse3.2,而下载站点现在无法访问。你对这件事了解得更多吗?