使用scala在saxonica 9 EE上进行模式感知的XSLT转换

用户名

我想念什么?我不明白为什么我的转换不支持模式。参考:

  1. http://www.saxonica.com/documentation/schema-processing/satransformapi.html
  2. http://www.saxonica.com/documentation9.4-demo/html/changes/intro92/install92.html

我知道文档很好,xsd / xslt / xml文件已由其他系统处理,并且工作正常。我试图为自己创建一个桌面命令行工具。

源代码

def main(args: Array[String]) 
{
        System.setProperty(     "javax.xml.transform.TransformerFactory", "com.saxonica.config.EnterpriseTransformerFactory")

        val factory = new EnterpriseTransformerFactory()
        factory.setAttribute(FeatureKeys.SCHEMA_VALIDATION, new Integer(Validation.STRICT))

        val schemaXXX = new StreamSource( new File("PATH/to/xxx.xsd") )
        val schemaYYY = new StreamSource( new File("PATH/to/yyy.xsd") )
        factory.addSchema(schemaXXX)
        factory.addSchema(schemaYYY)

        val XSLT = new StreamSource(new File("PATH/to/zzz.xslt"))
        val transformer = factory.newTransformer(XSLT)

        val input = new StreamSource(new File("PATH/to/file.xml"))

        val result = new StringWriter();
        transformer.transform(input, new StreamResult(result))

        println(result.toString())
}

结果:

The transformation is not schema-aware, so the source document must be untyped
迈克尔·凯(Michael Kay)

如果Saxon-EE中的样式表显式使用xsl:import-schema,或者如果用于编译该样式表的XSLT编译器显式设置为可识别模式,则该样式表被视为具有模式感知能力。使用s9api接口(XsltCompiler.setSchemaAware(true))可以轻松完成此操作,但也可以使用JAXP通过在TransformerFactory上设置属性FeatureKeys.XSLT_SCHEMA_AWARE(“ http://saxon.sf.net/feature/xsltSchemaAware ”)来完成此操作。您必须对此进行明确设置的原因是,如果样式表在编译时知道所有类型都将变为非类型,则处理非类型化文档的速度会更快,因此,我们不希望人们在不使用Saxon-EE的情况下转移到Saxon-EE上而产生额外的费用。 t使用此功能。

将来,请随时在saxonica.plan.io上提出支持问题,我们的目标是在24小时内给予答复。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用scala在saxonica 9 EE上进行模式感知的XSLT转换

来自分类Dev

未在选择字段上进行未定义的转换-Odoo v9社区

来自分类Dev

如何在Cloud9上使用Rails Composer和postgreSQL并在Heroku上进行部署

来自分类Dev

使用 saxon 9 HE 在 xslt 中使用 javascript 函数

来自分类Dev

是否可以在scala的akka ByteString上进行模式匹配?

来自分类Dev

如何在数组上进行scala模式匹配?

来自分类Dev

使用SCALA DSL在骆驼上进行setTracing

来自分类Dev

使用xslt进行转换的顺序

来自分类Dev

模式 ?(-)+([0-9])

来自分类Dev

使用VMR9在NPAPI中进行视频渲染

来自分类Dev

使用OpenJ9和Lombok进行Maven编译失败

来自分类Dev

如何批量使用sort命令并通过/ + 9进行排序

来自分类Dev

使用mod_cluster进行WildFly 9负载平衡

来自分类Dev

使用Bind9进行正向反向查找

来自分类Dev

使用Saxon9HE API在Java应用程序中使用XSLT转换多个输入XML文档

来自分类Dev

使用此GADT在长度上进行模式匹配:

来自分类Dev

使用XSLT 1进行XML转换

来自分类Dev

使用平面文件进行XSLT转换

来自分类Dev

使用Option [Type]进行Scala模式匹配

来自分类Dev

如何使用CDI和JAX-RS,Java EE7配置Tomcat 9?

来自分类Dev

是否可以在OpenLiberty 20.0.0.2-beta和任何版本的MicroProfile中使用Jakarta ee 9?

来自分类Dev

使用Jboss和Wildfly 9.x运行Java EE项目时出错

来自分类Dev

使用 Java-ee-7.0 for IBM 从 Jax-rs 1.1 迁移到 2.0 的问题是 9

来自分类Dev

使用ffmpeg使用Alpha将mov转换为使用Alpha的VP9 Webm

来自分类Dev

为什么我无法在Scala的Stream.empty上进行模式匹配?

来自分类Dev

在具有参数的构造函数上进行Scala模式匹配,但也可以重用对象

来自分类Dev

Scala,在通用特征元组上进行模式匹配,检查类型是否相等

来自分类Dev

Scala,在通用特征元组上进行模式匹配,检查类型是否相等

来自分类Dev

如何在scala中的foreach函数中的正则表达式上进行模式匹配?

Related 相关文章

  1. 1

    使用scala在saxonica 9 EE上进行模式感知的XSLT转换

  2. 2

    未在选择字段上进行未定义的转换-Odoo v9社区

  3. 3

    如何在Cloud9上使用Rails Composer和postgreSQL并在Heroku上进行部署

  4. 4

    使用 saxon 9 HE 在 xslt 中使用 javascript 函数

  5. 5

    是否可以在scala的akka ByteString上进行模式匹配?

  6. 6

    如何在数组上进行scala模式匹配?

  7. 7

    使用SCALA DSL在骆驼上进行setTracing

  8. 8

    使用xslt进行转换的顺序

  9. 9

    模式 ?(-)+([0-9])

  10. 10

    使用VMR9在NPAPI中进行视频渲染

  11. 11

    使用OpenJ9和Lombok进行Maven编译失败

  12. 12

    如何批量使用sort命令并通过/ + 9进行排序

  13. 13

    使用mod_cluster进行WildFly 9负载平衡

  14. 14

    使用Bind9进行正向反向查找

  15. 15

    使用Saxon9HE API在Java应用程序中使用XSLT转换多个输入XML文档

  16. 16

    使用此GADT在长度上进行模式匹配:

  17. 17

    使用XSLT 1进行XML转换

  18. 18

    使用平面文件进行XSLT转换

  19. 19

    使用Option [Type]进行Scala模式匹配

  20. 20

    如何使用CDI和JAX-RS,Java EE7配置Tomcat 9?

  21. 21

    是否可以在OpenLiberty 20.0.0.2-beta和任何版本的MicroProfile中使用Jakarta ee 9?

  22. 22

    使用Jboss和Wildfly 9.x运行Java EE项目时出错

  23. 23

    使用 Java-ee-7.0 for IBM 从 Jax-rs 1.1 迁移到 2.0 的问题是 9

  24. 24

    使用ffmpeg使用Alpha将mov转换为使用Alpha的VP9 Webm

  25. 25

    为什么我无法在Scala的Stream.empty上进行模式匹配?

  26. 26

    在具有参数的构造函数上进行Scala模式匹配,但也可以重用对象

  27. 27

    Scala,在通用特征元组上进行模式匹配,检查类型是否相等

  28. 28

    Scala,在通用特征元组上进行模式匹配,检查类型是否相等

  29. 29

    如何在scala中的foreach函数中的正则表达式上进行模式匹配?

热门标签

归档