我发现xmi标记(例如: UML:Package)有一个问题,我真正的问题是我不能使用带有select选项的每个循环(select="UML:Package")。以下是XML输入代码:
<XMI xmi.version='1.2' xmlns:UML="org.omg.xmi.namespace.UML">
<UML:Package type="stock" exch="nyse" symbol="ZCXM" company="zacx corp"
price="28.875"/>
<UML:Package type="stock" exch="nasdaq" symbol="ZFFX" company="zaffymat inc"
price="92.250"/>
<UML:Package type="stock" exch="nasdaq" symbol="ZYSZ" company="zysmergy inc"
price="20.313"/>
</XMI>
下面是我的xslt代码:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:UML="org.omg.xmi.namespace.UML" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" />
<xsl:template match="/">
<xmi:XMI>
<xsl:for-each select="UML:Package">
<stock>
<xsl:attribute name="exchange">
<xsl:value-of select="@exch" />
</xsl:attribute>
<name>
<xsl:value-of select="@company" />
</name>
<symbol>
<xsl:value-of select="@symbol" />
</symbol>
<price>
<xsl:value-of select="@price" />
</price>
</stock>
<hi>
</hi>
</xsl:for-each>
</xmi:XMI>
</xsl:template>
</xsl:stylesheet>
这就是我得到的结果
<?xml version="1.0" encoding="UTF-8"?><XMI xmlns:UML="org.omg.xmi.namespace.UML"/>
控制台上没有错误:
10:10:19,639 INFO [main] Main - javax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpljava.endorsed.dirs=D:\PFE.metadata.plugins\org.eclipse.wst.xsl.jaxp.launching\endorsed 10:10:19,639信息主- launchFile: D:\PFE.metadata.plugins\org.eclipse.wst.xsl.jaxp.launching\launch\launch.xml 10:10:19,87310:10:19,889信息主要JAXPSAXProcessorInvoker -完成。
有什么帮助吗?
发布于 2015-04-17 09:46:45
您报告的结果是而不是,我使用您的代码获得了什么。样式表有两个主要问题:
xmi:,而不将其绑定到命名空间;这将生成解析错误,不会产生任何结果。/根节点-指令:
什么都不选。它必须是:
https://stackoverflow.com/questions/29693975
复制相似问题