
{
    "id":"http://www.opengis.net/citygml/texturedsurface/2.0#",
    "definitions":{
        "AbstractAppearanceType":{
            "allOf":[
                {
                    "$ref":"#/definitions/AbstractGMLType"
                },
                {
                    "type":"object",
                    "title":"AbstractAppearanceType",
                    "properties":{
                    }
                }
            ],
            "typeType":"classInfo",
            "typeName":{
                "localPart":"AbstractAppearanceType",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            }
        },
        "SimpleTextureType":{
            "required":[
                "textureMap",
                "textureCoordinates"
            ],
            "allOf":[
                {
                    "$ref":"#/definitions/AbstractAppearanceType"
                },
                {
                    "type":"object",
                    "title":"SimpleTextureType",
                    "properties":{
                        "textureMap":{
                            "title":"textureMap",
                            "allOf":[
                                {
                                    "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/anyURI"
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"textureMap",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        },
                        "textureCoordinates":{
                            "title":"textureCoordinates",
                            "allOf":[
                                {
                                    "type":"array",
                                    "items":{
                                        "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/double"
                                    }
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"textureCoordinates",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        },
                        "textureType":{
                            "title":"textureType",
                            "allOf":[
                                {
                                    "$ref":"#/definitions/TextureTypeType"
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"textureType",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        },
                        "repeat":{
                            "title":"repeat",
                            "allOf":[
                                {
                                    "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/boolean"
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"repeat",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        }
                    }
                }
            ],
            "typeType":"classInfo",
            "typeName":{
                "localPart":"SimpleTextureType",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            },
            "propertiesOrder":[
                "textureMap",
                "textureCoordinates",
                "textureType",
                "repeat"
            ]
        },
        "AppearancePropertyType":{
            "type":"object",
            "title":"AppearancePropertyType",
            "required":[
                "appearance"
            ],
            "properties":{
                "appearance":{
                    "title":"appearance",
                    "allOf":[
                        {
                            "type":"object",
                            "properties":{
                                "name":{
                                    "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/QName"
                                },
                                "value":{
                                    "$ref":"#/definitions/AbstractAppearanceType"
                                }
                            },
                            "elementName":{
                                "localPart":"_Appearance",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        }
                    ],
                    "propertyType":"elementRef",
                    "elementName":{
                        "localPart":"_Appearance",
                        "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                    }
                },
                "orientation":{
                    "title":"orientation",
                    "allOf":[
                        {
                            "$ref":"#/definitions/SignType"
                        }
                    ],
                    "propertyType":"attribute",
                    "attributeName":{
                        "localPart":"orientation",
                        "namespaceURI":""
                    }
                },
                "remoteSchema":{
                    "title":"remoteSchema",
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/anyURI"
                        }
                    ],
                    "propertyType":"attribute",
                    "attributeName":{
                        "localPart":"remoteSchema",
                        "namespaceURI":"http://www.opengis.net/gml"
                    }
                },
                "type":{
                    "title":"type",
                    "allOf":[
                        {
                            "$ref":"#/definitions/TypeType"
                        }
                    ],
                    "propertyType":"attribute",
                    "attributeName":{
                        "localPart":"type",
                        "namespaceURI":"http://www.w3.org/1999/xlink"
                    }
                },
                "href":{
                    "title":"href",
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/anyURI"
                        }
                    ],
                    "propertyType":"attribute",
                    "attributeName":{
                        "localPart":"href",
                        "namespaceURI":"http://www.w3.org/1999/xlink"
                    }
                },
                "role":{
                    "title":"role",
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/anyURI"
                        }
                    ],
                    "propertyType":"attribute",
                    "attributeName":{
                        "localPart":"role",
                        "namespaceURI":"http://www.w3.org/1999/xlink"
                    }
                },
                "arcrole":{
                    "title":"arcrole",
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/anyURI"
                        }
                    ],
                    "propertyType":"attribute",
                    "attributeName":{
                        "localPart":"arcrole",
                        "namespaceURI":"http://www.w3.org/1999/xlink"
                    }
                },
                "title":{
                    "title":"title",
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/string"
                        }
                    ],
                    "propertyType":"attribute",
                    "attributeName":{
                        "localPart":"title",
                        "namespaceURI":"http://www.w3.org/1999/xlink"
                    }
                },
                "show":{
                    "title":"show",
                    "allOf":[
                        {
                            "$ref":"#/definitions/ShowType"
                        }
                    ],
                    "propertyType":"attribute",
                    "attributeName":{
                        "localPart":"show",
                        "namespaceURI":"http://www.w3.org/1999/xlink"
                    }
                },
                "actuate":{
                    "title":"actuate",
                    "allOf":[
                        {
                            "$ref":"#/definitions/ActuateType"
                        }
                    ],
                    "propertyType":"attribute",
                    "attributeName":{
                        "localPart":"actuate",
                        "namespaceURI":"http://www.w3.org/1999/xlink"
                    }
                }
            },
            "typeType":"classInfo",
            "typeName":{
                "localPart":"AppearancePropertyType",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            },
            "propertiesOrder":[
                "appearance",
                "orientation",
                "remoteSchema",
                "type",
                "href",
                "role",
                "arcrole",
                "title",
                "show",
                "actuate"
            ]
        },
        "TexturedSurfaceType":{
            "required":[
                "appearance"
            ],
            "allOf":[
                {
                    "$ref":"#/definitions/OrientableSurfaceType"
                },
                {
                    "type":"object",
                    "title":"TexturedSurfaceType",
                    "properties":{
                        "appearance":{
                            "title":"appearance",
                            "allOf":[
                                {
                                    "type":"array",
                                    "items":{
                                        "$ref":"#/definitions/AppearancePropertyType"
                                    },
                                    "minItems":1
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"appearance",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        }
                    }
                }
            ],
            "typeType":"classInfo",
            "typeName":{
                "localPart":"TexturedSurfaceType",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            },
            "propertiesOrder":[
                "appearance"
            ]
        },
        "MaterialType":{
            "allOf":[
                {
                    "$ref":"#/definitions/AbstractAppearanceType"
                },
                {
                    "type":"object",
                    "title":"MaterialType",
                    "properties":{
                        "shininess":{
                            "title":"shininess",
                            "allOf":[
                                {
                                    "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/double"
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"shininess",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        },
                        "transparency":{
                            "title":"transparency",
                            "allOf":[
                                {
                                    "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/double"
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"transparency",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        },
                        "ambientIntensity":{
                            "title":"ambientIntensity",
                            "allOf":[
                                {
                                    "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/double"
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"ambientIntensity",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        },
                        "specularColor":{
                            "title":"specularColor",
                            "allOf":[
                                {
                                    "type":"array",
                                    "items":{
                                        "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/double"
                                    }
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"specularColor",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        },
                        "diffuseColor":{
                            "title":"diffuseColor",
                            "allOf":[
                                {
                                    "type":"array",
                                    "items":{
                                        "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/double"
                                    }
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"diffuseColor",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        },
                        "emissiveColor":{
                            "title":"emissiveColor",
                            "allOf":[
                                {
                                    "type":"array",
                                    "items":{
                                        "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/double"
                                    }
                                }
                            ],
                            "propertyType":"element",
                            "elementName":{
                                "localPart":"emissiveColor",
                                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
                            }
                        }
                    }
                }
            ],
            "typeType":"classInfo",
            "typeName":{
                "localPart":"MaterialType",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            },
            "propertiesOrder":[
                "shininess",
                "transparency",
                "ambientIntensity",
                "specularColor",
                "diffuseColor",
                "emissiveColor"
            ]
        },
        "TextureTypeType":{
            "allOf":[
                {
                    "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/string"
                }
            ],
            "typeType":"enumInfo",
            "typeName":{
                "localPart":"TextureTypeType",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            }
        }
    },
    "anyOf":[
        {
            "type":"object",
            "properties":{
                "name":{
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/QName"
                        },
                        {
                            "type":"object",
                            "properties":{
                                "localPart":{
                                    "enum":[
                                        "Material"
                                    ]
                                },
                                "namespaceURI":{
                                    "enum":[
                                        "http://www.opengis.net/citygml/texturedsurface/2.0"
                                    ]
                                }
                            }
                        }
                    ]
                },
                "value":{
                    "$ref":"#/definitions/MaterialType"
                }
            },
            "elementName":{
                "localPart":"Material",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            }
        },
        {
            "type":"object",
            "properties":{
                "name":{
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/QName"
                        },
                        {
                            "type":"object",
                            "properties":{
                                "localPart":{
                                    "enum":[
                                        "TexturedSurface"
                                    ]
                                },
                                "namespaceURI":{
                                    "enum":[
                                        "http://www.opengis.net/citygml/texturedsurface/2.0"
                                    ]
                                }
                            }
                        }
                    ]
                },
                "value":{
                    "$ref":"#/definitions/TexturedSurfaceType"
                }
            },
            "elementName":{
                "localPart":"TexturedSurface",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            }
        },
        {
            "type":"object",
            "properties":{
                "name":{
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/QName"
                        },
                        {
                            "type":"object",
                            "properties":{
                                "localPart":{
                                    "enum":[
                                        "_Appearance"
                                    ]
                                },
                                "namespaceURI":{
                                    "enum":[
                                        "http://www.opengis.net/citygml/texturedsurface/2.0"
                                    ]
                                }
                            }
                        }
                    ]
                },
                "value":{
                    "$ref":"#/definitions/AbstractAppearanceType"
                }
            },
            "elementName":{
                "localPart":"_Appearance",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            }
        },
        {
            "type":"object",
            "properties":{
                "name":{
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/QName"
                        },
                        {
                            "type":"object",
                            "properties":{
                                "localPart":{
                                    "enum":[
                                        "SimpleTexture"
                                    ]
                                },
                                "namespaceURI":{
                                    "enum":[
                                        "http://www.opengis.net/citygml/texturedsurface/2.0"
                                    ]
                                }
                            }
                        }
                    ]
                },
                "value":{
                    "$ref":"#/definitions/SimpleTextureType"
                }
            },
            "elementName":{
                "localPart":"SimpleTexture",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            }
        },
        {
            "type":"object",
            "properties":{
                "name":{
                    "allOf":[
                        {
                            "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/QName"
                        },
                        {
                            "type":"object",
                            "properties":{
                                "localPart":{
                                    "enum":[
                                        "appearance"
                                    ]
                                },
                                "namespaceURI":{
                                    "enum":[
                                        "http://www.opengis.net/citygml/texturedsurface/2.0"
                                    ]
                                }
                            }
                        }
                    ]
                },
                "value":{
                    "$ref":"#/definitions/AppearancePropertyType"
                }
            },
            "elementName":{
                "localPart":"appearance",
                "namespaceURI":"http://www.opengis.net/citygml/texturedsurface/2.0"
            }
        }
    ]
}