草庐IT

xslt2processor

全部标签

java - 如何通过 XSLT 在 Java 中合并 2 个 XML 流

我想在Java中合并2个XML流(字符串),必须通过XSLT(我可以更改转换),但问题是XML作为字符串出现。有很多例子,但是通过文件。这可以在不将它们保存在文件中的情况下完成吗?谢谢。 最佳答案 我只知道一种使用自己实现URIResolver的方法.publicfinalclassStringURIResolverimplementsURIResolver{Mapdocuments=newHashMap();publicStringURIResolverput(finalStringhref,finalStringdocument

java - XSLT 文档() : Is it slower when calling it multiple times?

2013年7月17日更新:XALAN2.7不缓存document()请求中的调用。因此,将每个需要的文档存储在XSL中的一个变量中至关重要。我已经搜索了很长时间,但没有找到我这个简单问题的具体答案:哪种方法更快或者编译器是否足够“智能”以致于两种变体相同?注意:我使用的是Xalan2.7(JDK1.6中的默认实现):1)我必须读取外部XML中的属性:每当我需要城市时,我都会使用上面的表达式(比如说100次)2)我没有调用document()100次,而是将XML节点存储在一个变量中:然后我用了100次哪个更快、更好,原因是什么?谢谢! 最佳答案

java - 为 maven-processor-plugin 编写注解处理器

我有兴趣为maven-processor-plugin编写注释处理器。我对Maven比较陌生。处理器Java源代码应该放在项目路径中的什么位置(例如:src/main/java/...),以便它得到适当的编译,但最终不会成为我的ArtifactJAR文件的一部分? 最佳答案 最简单的方法是将注解处理器放在一个单独的项目中,并将其作为依赖项包含在内。如果这对您不起作用,请使用此配置编译器插件:org.apache.maven.pluginsmaven-compiler-plugin2.3.21.51.5truedefault-comp

java - XSLT 导入语句的 Saxon 错误

每当我有XSLT导入语句时,Saxon处理器都会给我一个错误。这是错误:XTSE0165:I/OerrorreportedbyXMLparserprocessingfile:shared/test.xslt(Thesystemcannotfindthepathspecified):这是我的XSLT文档的样子:...我的java代码TransformerFactorytransformerFactory=TransformerFactoryImpl.newInstance();transformerFactory.setURIResolver(uriResolver);//myowncu

使用XSLT将所有脚本标签从文档移动到HEAD标签

我正在使用带有几个XML文件的XSLT来生成我的网页。我想能够添加我的XML中的小部件标签,该标签将小部件插入HTML中的相应位置。该小部件还由XML文件定义,该文件定义其HTML内容和其他信息。这很好,但是现在小部件需要一个或多个脚本,它定义了jqueryanimation我想将此脚本添加到HTML的Head标签中,而不是在整个地方散射脚本标签。我使用的当前方法如下:我构建我的页面并将其放入变量中,例如:这离开了scripts标签它们在哪里。之后,我打电话导致以下模板:这两次遍历整个文档:一次收集所有脚本标签以将脚本放入标题,第二次删除所有脚本scripts标签。对于较大的文档而言,这变得很

java - 使用 XSLT 即 XML 转换器时防止 DTD 下载

我必须用Java处理带有XSLT的DTD的XML文件。确实需要DTD,因为它包含我使用的实体的定义。(旁白:是的,将实体用于可以使用unicode的东西是个坏主意;-)当我运行转换时,它每次都从外部源下载DTD。我希望它使用XML目录来缓存DTD,所以我给TransformerFactory一个CatalogResolver作为URIResolver:URIResolvercr=newCatalogResolver();tf=TransformerFactory.newInstance();tf.setURIResolver(cr);Transformert=tf.newTransfo

java - Java XSLT 转换中 newTransformer 和 newTemplates 的区别

在Java中,来自TransformerFactory用于创建对象来处理XSLT,它具有以下方法:newTransformer创建Transformer对象,可以将XML转换为结果。newTemplates创建Templates对象,该对象可以创建Transformer。Transformer的文档明确指出:ATransformermaybeusedmultipletimes.我的应用程序使用相同的XSLT处理各种不同的XML。在程序开始时,我使用newTransformer创建一个Transformer,然后将它重新用于所有XML(确保它是同步的,所以我只在一个线程中使用它;并在每次

java - Annotation Processor - 如何获取它正在处理的类

我正在尝试编写自定义Anntoation处理器。注解处理器会在编译时处理每个class文件来检查注解,但是我怎样才能得到它当前正在处理的类呢?我只能在以下代码中获取类名。publicclassAnnotationProcessorextendsAbstractProcessor{......@Overridepublicbooleanprocess(Setannotations,RoundEnvironmentroundEnv){SetrootE=roundEnv.getRootElements();for(Elemente:rootE){if(e.getKind()==Element

java - 使用 XSD、目录解析器和用于 XSLT 的 JAXP DOM 验证 XML

背景使用JDK6将XML文件加载到DOM.必须根据XSD验证XML文件。XSD文件位置因运行环境而异。确保XML可以针对XSD进行验证,无论目录结构如何,都需要目录解析器。一旦XML得到验证,就可以对其进行转换。我的理解是DocumentBuilderFactory可用于配置此类验证。这是通过使用DocumentBuilder实现的。用XMLCatalogResolver查找与XML文件关联的XSD文件(以及任何包含的文件)。关于使用目录派生的XSD验证XML文档的问题包括:JAXP-debugXSDcataloglookupJavaXMLSchemavalidatorwithcust

java - xmlSignature java 中的 XSLT 转换?

我有一个XML文档。我正在使用xmlsignature对文档的一部分进行签名。在找到摘要之前,我想应用XSLT转换。根据我的阅读,XSLT将XML文档转换为另一种格式(也可以是XML)。现在我很困惑,转换后的新文档在哪里可用?如何从这个新文件中检索值如果我想向用户展示它,是否创建了文档?我的XML文档asdghi转换代码Transformt=fac.newTransform(Transform.XPATH,newXPathFilterParameterSpec("/r1/user"));根据xpath转换,每当用户元素的值更改时,不应验证xmlsignature。如果person元素的