使用 Saxon-HE 我想解析一个 xsd 文件,从给定的元素名称获取生成的树,获取生成的子树,以及所有必需的 simpleType 和 complexType(都使用类型引用和来自引用),例如解析一个像:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="PSS" xmlns=""
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element maxOccurs="unbounded" name="Assistito">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="IDCittadino" type="IDCittadino"/>
<xs:element maxOccurs="unbounded" name="Struttura">
<xs:complexType>
<xs:sequence>
<xs:element name="CodiceStruttura" type="CodiceStruttura"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="IDCittadino">
<xs:restriction base="xs:string">
<xs:minLength value="20"/>
<xs:maxLength value="32"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CodiceStruttura">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
我需要从名称为“Struttura”的元素中获取子树,这也需要获取名称为“CodiceStruttura”的 simpleType,例如:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="PSS" xmlns=""
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Struttura">
<xs:complexType>
<xs:sequence>
<xs:element name="CodiceStruttura" type="CodiceStruttura"/>
</xs:sequence>
</xs:complexType>
</xs:element>
笔记
通常,要一致的 xsd 应保留 xs:element 中使用的所有类型,但您也可以使用“ref 属性”,这也应考虑在内
我不想用jaxb或类似的方式生成类,因为xsd文件每次都会改变,所以我不能使用类生成
提前致谢,
慕田峪7331174
相关分类