我需要转换一个xsd,它将Java dtos表示为html。 主要目标是,如果常规输入失败,即使在生产中也允许填充对象。 (即,它不需要漂亮)
我发现https://github.com/MichielCM/xsd2html2xml应该完全符合我的要求,但不幸的是没有。
我的问题如下:如果我有这样的源架构:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:c="http://www.trivia/commonTypes/v1_0"
targetNamespace="http://www.trivia/v1_0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xs:import schemaLocation="comm.xsd" namespace="http://www.trivia/commonTypes/v1_0" />
<xs:element name="common" type="c:typeAddress"/>
<xs:element name="local" type="typeAddress"/>
<xs:element name="simple" type="xs:string"/>
<xs:complexType name="typeAddress">
<xs:sequence>
<xs:element name="city" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
简单元素和局部元素按预期转换,但共同元素不是。为了示例,comm.xsd包含typeAdress的副本。
问题是如何在xsl转换中引用用import语句声明的类型?
答案 0 :(得分:0)
执行从源XSD文档开始的任何类型的处理都是一项艰巨的任务,因为有很多表达方式的方法:例如,您是否需要处理命名属性组或模型组? xs:重新定义怎么样?您可以随时扩展一些像这样的软件来处理另外一个案例,但是您需要处理一个上坡自动扶梯:在您完成之前,您还需要做更多的事情。我的建议是,不要这样做。使用API可以访问由架构处理器构建的内部架构组件模型。 Xerces处理器通过Java API公开它,Saxon处理器将其公开为XML文档(称为SCM文件)。无论哪种方式,所有表面的东西,如xs:import都需要处理,你只需要担心基础数据模型。