我需要以与JAXB或XmlBeans相同的方式将XML命名空间转换为Java包名称。
例如,http:\www.widgetvendor.com\types\widgetTypes.xsd
应转换为com.widgetvendor.types.widgettypes
我可以编写自己的函数来执行此转换,但我认为这是常见任务,应该有实用程序 你能说出任何名字吗?
答案 0 :(得分:1)
此链接可能会对您有所帮助http://forums.java.net/node/690286
但最好编写自己的函数,以便在将来有一些要求时可以自定义。
答案 1 :(得分:1)
是的,有一种简单的方法可以将XML命名空间转换为Java包名称!
根据JAXB Specification 2.0最终版本(§D.5.1生成Java包名称:从命名空间URI映射)转换规则,您可以使用JAXB内部使用的相同类来执行操作
我在2011年搜索了一个可以执行此操作的标准实用程序类时遇到了这个帖子。不幸的是,讽刺的回应并没有帮助任何人。如果下一个人遇到此问题并希望得到实际答案,请参阅下面的代码段:
/* Also available in the internal package space as part of the JDK */
import com.sun.xml.bind.api.impl.NameConverter;
public static String convertToPackageName(String xmlNamespace) {
NameConverter nameConverter = new NameConverter.Standard();
return nameConverter.toPackageName(xmlNamespace);
}
答案 2 :(得分:0)
这不是一项常见任务。你最好自己编写功能。
(在你问之前......不,我不会为你做的。抱歉。)