Handle recursion
Opened this issue · 0 comments
lcahlander commented
Recursion currently crashes the script.
Case 1
XML Schema
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="node" type="recursive" />
<xs:complexType name="recursive">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="node" type="recursive" />
</xs:sequence>
</xs:complexType>
</xs:schema>
JSON Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "schema_recursive.json#",
"version": "0.0.1",
"type": "object",
"definitions": {"recursive": {
"required": ["node"],
"type": "object",
"properties": {"node": {"$ref": "#/definitions/recursive"}},
"additionalProperties": false
}},
"allOf": [{"$ref": "#/definitions/recursive"}],
"additionalProperties": false
}
Case 2
XML Schema
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="node" type="recursive1"/>
<xs:complexType name="recursive1">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="node" type="recursive2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="recursive2">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="node" type="recursive1"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
JSON Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "schema_recursive2.json#",
"version": "0.0.1",
"type": "object",
"definitions": {
"recursive1": {
"required": ["node"],
"type": "object",
"properties": {"node": {"$ref": "#/definitions/recursive2"}},
"additionalProperties": false
},
"recursive2": {
"required": ["node"],
"type": "object",
"properties": {"node": {"$ref": "#/definitions/recursive1"}},
"additionalProperties": false
}
},
"allOf": [{"$ref": "#/definitions/recursive1"}],
"additionalProperties": false
}