{
  "title": "styleOrigin",
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema",
  "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
  "properties": {
    "name": {
      "type": "string",
      "description": "Identifies a symbol in the style by name."
    },
    "styleName": {
      "type": "string",
      "description": "A registered web style name, such as `EsriThematicShapesStyle`"
    },
    "styleUrl": {
      "description": "URL to a style definition.",
      "oneOf": [
        {
          "type": "string",
          "format": "uri",
          "description": "An absolute URL"
        },
        {
          "type": "string",
          "description": "A relative path starting with ./",
          "pattern": "^\\./.+$"
        }
      ]
    }
  },
  "oneOf": [
    {
      "required": [
        "name",
        "styleName"
      ]
    },
    {
      "required": [
        "name",
        "styleUrl"
      ]
    }
  ],
  "additionalProperties": false,
  "esriDocumentation": {
    "examples": [
      {
        "title": "styleOrigin",
        "schema": "pointSymbol3D_schema.json",
        "code": {
          "symbol": {
            "styleOrigin": {
              "styleName": "EsriThematicTreesStyle",
              "name": "Frangula"
            },
            "type": "PointSymbol3D",
            "symbolLayers": [
              {
                "type": "Object",
                "resource": {
                  "href": "http://static.arcgis.com/arcgis/styleItems/ThematicTrees/web/resource/FrangulaAlnus.json"
                },
                "height": 100,
                "material": {
                  "color": [
                    255,
                    0,
                    0
                  ]
                }
              }
            ]
          }
        }
      }
    ]
  }
}
