我已经使用XSLT多年,并尝试创建中等大小的库(例如50个导入的XSLT文件).我发现这很困难,可能是因为我没有有用的开发工具.我现在一般不使用超过几百行的XSLT文件.
是否有广泛使用的大型XSLT库?是否有支持构建XSLT库的IDE和工具(例如Eclipse和Maven的类似物)?或者XSLT应用程序的大小是否有效?
我正在使用Tesseract(在Windows上)从科学图(例如绘图)中提取文本,图中有许多孤立的单词或数字,但没有句子或段落。然后,我将HTML转换为SVG。效果很好,除了我无法得到
我可以从边界框中获得粗略的字体大小,但这取决于字符是升序还是降序。因此,下面的所有行(在hOCR输出中)都具有相同的字体系列和大小:
<span class='ocrx_word' id='word_6' title="bbox 1177 491 1637 549">Herpetotherinae</span>
<span class='ocrx_word' id='word_13' title="bbox 1183 1179 1514 1228">Cathartidae</span>
<span class='ocrx_word' id='word_35' title="bbox 1847 1742 1907 2077">Accipitridae</span>
Run Code Online (Sandbox Code Playgroud)
span_1的降序(在“ p”中),bbox的y高度为58,而span_2的bbox的高度为49(无降序),而span_3的bbox的x宽度为60,表示文本已旋转。但是,bbox本身不足以准确定位文本或确定文本方向。
我想使用Tess4J并使用任何会导致获得这些属性的API。
如果有人已经从Tess4J编写了SVG输出,我将不胜感激。(我的任何代码都是F / OSS)。
我最近开始有用地使用 C# 扩展方法。SO 示例和文档表明它们仅用于实例方法(即使用this关键字)。可以将它们(或其他方法)与静态/类方法一起使用吗?
(我的特殊要求是将 Java 代码转换为 C#,其中“大部分代码”不需要编辑。Java 实例方法(例如 Java String.indexOf())可以通过调用 C# 的扩展方法路由string.IndexOf())。我想对 Java Math.abs()=> C#做同样的事情Math.Abs())。
总结不。答案表明,拥有它是一件合理的事情,但不太可能很快发生。变通方法需要编辑创建新类或类似的东西,可能不值得。
我正在使用泛型将Java代码转换为C#并且遇到了类似容器的问题:
public static class MyExtensions
{
public static void add(this List<object> list, object obj)
{
list.Add(obj);
}
public static void add(this List<string> list, string s)
{
list.Add(s);
}
}
Run Code Online (Sandbox Code Playgroud)
似乎泛型在比较参数时丢失了,两种方法相互冲突.我想知道仿制药是否可以这种方式使用.是否可以使用单个支持所有列表操作:
public static void add(this List<object> list, object obj)
{
list.Add(obj);
}
Run Code Online (Sandbox Code Playgroud)
例如?
总结所有响应都有相同的解决方案.列表可以抽象为ICollection.总的来说,对于生产代码来说,这可能不是一个好主意.
我继承了包含静态嵌套类的代码:
public class Foo {
// Foo fields and functions
// ...
private static class SGroup {
private static Map<Integer, SGroup> idMap = new HashMap<Integer, SGroup>();
public SGroup(int id, String type) {
// ...
}
}
}
Run Code Online (Sandbox Code Playgroud)
从阅读SO(例如Java内部类和静态嵌套类),我相信这相当于两个单独文件中的两个单独的类:
public class Foo {
// Foo fields and functions
// ...
}
Run Code Online (Sandbox Code Playgroud)
和
public class SGroup {
static Map<Integer, SGroup> idMap = new HashMap<Integer, SGroup>();
public SGroup(int id, String type) {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
如果这是正确的,维护静态嵌套类结构有什么好处,还是应该重构?
在命令行上java -cp只是缩写java -classpath?
(我似乎记得他们可能有不同的行为,但找不到明确的文档).
更新感谢(@AlBlue)确认我的记忆确实是正确的并且他们曾经是不同的.
我有一个内置在'/ some/where'的maven项目,我希望从另一个目录'/ foo/bar'运行/执行.我目前正在运行如下命令:
cd /some/where
mvn exec:java -Dexec.mainClass=org.xmlcml.cml.rest.Client
Run Code Online (Sandbox Code Playgroud)
同
/some/where/pom.xml
Run Code Online (Sandbox Code Playgroud)
我希望做的事情如下:
cd /foo/bar
mvn -p /some/where/pom.xml exec:java -Dexec.mainClass=org.xmlcml.cml.rest.Client
Run Code Online (Sandbox Code Playgroud)
但不知道语法或是否允许.
如果允许,相对文件名在哪里引用(a)包含pom.xml的目录,即/some/where或(b)当前目录/foo/bar
我是Java的长期用户(但我是科学家而不是专业开发人员).每当新版本问世时我都会升级,但我最初只使用一小部分新功能,因为我并不总是有时间学习所有内容.
最近我了解到,除非我完全理解泛型,否则我可能会在使用时遇到严重危险(或者在这种情况下不使用它们) - 我不知道哪些危险并且不明显.(我很欣赏我被Eclipse警告但我不明白这个警告!)
具体的例子是,现在(从1.5开始)使用原始类型并且Class(而不是Class<?>或Class<MyStuff>)具有严重危险的不良做法.请参阅为什么Class <?>优先于Class.
我的问题是 - 由于升级到Java 1.5(或1.6,1.7)但使用我的旧代码或编程风格,我可能遇到的其他危险是什么并且没有意识到?
我正在使用Eclipse + Java并尝试在我当前的项目下创建文件.我曾经使用过new File("")并且不了解它的行为.
File dir = new File("");
System.out.println(dir.getAbsolutePath()+" | "+dir.isDirectory()+" | "+dir.exists());
String absolutePathname = dir.getAbsolutePath();
dir = new File(absolutePathname);
System.out.println(dir.getAbsolutePath()+" | "+dir.isDirectory()+" | "+dir.exists());
Run Code Online (Sandbox Code Playgroud)
结果是:
D:\workspace\jumbo-converters\jumbo-converters-compchem | false | false
D:\workspace\jumbo-converters\jumbo-converters-compchem | true | true
Run Code Online (Sandbox Code Playgroud)
为什么我有两个具有相同绝对路径名的文件,其中一个存在而且其中一个不存在?
我正在使用Java 1.6和Eclipse Helios