{
	"schema" : 
	{
		"types" :
		[
		   "string", "normalizedString", "token", "integer", "base64Binary", "hexBinary", "positiveInteger", "negativeInteger", 
		   "nonPositiveInteger", "nonNegativeInteger", "long", "unsignedLong", "int", "unsignedInt",
		   "short", "unsignedShort", "byte", "unsignedByte", "decimal", "float", "double", "boolean", "duration", "dateTime", "date",
		   "time", "gYear","gYearMonth", "gMonth", "gMonthDay", "gDay", "Name", "QName", "NCName", "anyURI", "language",
		   "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NOTATION", "NMTOKEN", "NMTOKENS"
		],
		"attributes" : 
		{
			"attributeFormDefault" : 
			{
				"type" : "string",
				"insert" : "attributeFormDefault=\"#unqualified#\"",
				"values" : 
				[
					"qualified", "unqualified"
				]
			},
			"blockDefault" : 
			{
				"type" : "string",
				"insert" : "blockDefault=\"##\"",
				"values" : 
				[
					"all", "extension", "restriction", "substitution"
				]
			},
			"defaultAttributes" : 
			{
				"type" : "QName",
				"insert" : "defaultAttributes=\"#QName#\""
			},
			"xpathDefaultNamespace" : 
			{
				"type" : "anyURI",
				"insert" : "xpathDefaultNamespace=\"#local#\"",
				"values" : 
				[
					"all", "#defaultNamespace ", "#targetNamespace ", "#local"
				]
			},
			"elementFormDefault " : 
			{
				"type" : "string",
				"insert" : "elementFormDefault =\"#unqualified#\"",
				"values" : 
				[
					"qualified", "unqualified"
				]
			},
			"finalDefault " : 
			{
				"type" : "string",
				"insert" : "finalDefault=\"##\"",
				"values" : 
				[
					"all", "extension", "restriction", "list", "union"
				]
			},
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#ID#\""
			},
			"targetNamespace" : 
			{
				"type" : "anyURI",
				"insert" : "targetNamespace=\"#http://somedomain/resource#\""
			},
			"version" :
			{
				"type" : "string",
				"insert" : "name=\"#1.0#\""
			},
			"xml:lang" :
			{
				"type" : "language",
				"insert" : "xml:lang=\"##\""
			}
		},
		"members" : 
		[
			"include", "import", "redefine", "override", "annotation", "defaultOpenContent",
			"complexType", "simpleType", "group", "attributeGroup", 
			"element", "attribute", "notation"
		]
	},
	"defaultOpenContent" :
	{
		"attributes" : 
		{
			"appliesToEmpty" :
			{
				"type" : "boolean",
				"insert" : "appliesToEmpty=\"#false#\"",
				"values" : 
				[
					"true", "false"
				]
			},
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"##\""
			},
			"mode" :
			{
				"type" : "string",
				"insert" : "mode=\"#interleave#\"",
				"values" : 
				[
					"interleave", "suffix"
				]
			}
		}
	},
	"simpleType" : 
	{
		"attributes" : 
		{
			"final" : 
			{
				"type" : "string",
				"insert" : "final=\"#all#\"",
				"values" : 
				[
					"all", "list", "union", "restriction", "extension" 
				]
			},
			"name" : 
			{
				"type" : "NCName",
				"insert" : "name=\"##\""
			},
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"##\""
			}
		},
		"members" :
		[
		  "restriction", "list", "union"
		]
	},
	"complexType" : 
	{
		"attributes" : 
		{
			"abstract" : 
			{
				"type" : "boolean",
				"insert" : "abstract=\"#false#\""
			},
			"block" : 
			{
				"type" : "string",
				"insert" : "block=\"#all#\"",
				"values" : 
				[
					"all", "extension", "restriction" 
				]
			},
			"final" : 
			{
				"type" : "string",
				"insert" : "final=\"#all#\"",
				"values" : 
				[
					"all", "list", "union", "restriction", "extension" 
				]
			},
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"##\""
			},
			"mixed" : 
			{
				"type" : "boolean",
				"insert" : "mixed=\"##\""
			},
			"name" : 
			{
				"type" : "NCName",
				"insert" : "name=\"##\""
			},
			"defaultAttributesApply" : 
			{
				"type" : "boolean",
				"insert" : "defaultAttributesApply=\"#true#\""
			}
		},
		"members" :
		[
		  "annotation", "simpleContent", "complexContent", "openContent", "group", "all", "choice", "sequence", "attribute", "attributeGroup", "anyAttribute", "assert"
		]
	},
	"simpleContent" :
	{
		"attributes" : 
		{
		   "id" :
		   {
				"type" : "ID",
				"insert" : "id=\"##\""
		   }
		},
		"members" :
		[
			"annotation", "restriction", "extension"
		]
	},
	"attributeGroup" :
	{
		"attributes" : 
		{
		    "id" :
		    {
				"type" : "ID",
				"insert" : "id=\"##\""
		    },
			"ref" :
			{
			    "type" : "QName",
				"insert" : "ref=\"#QName#\""
			}
		},
		"members" :
		[
			"annotation"
		]
	},
	"restriction" : 
	{
		"attributes" : 
		{
		   "base" :
		   {
		       "type" : "QName",
			   "insert" : "base=\"##\""
		   },
		   "id" :
		   {
				"type" : "ID",
				"insert" : "id=\"##\""
		   }
		},
		"members" :
		[
		  "annotation",  "assertion",  "enumeration", "explicitTimeZone",  "fractionDigits",  "length",
		  "maxExclusive", "maxInclusive", "maxLength", "minInclusive", "minExclusive", "minLength", "pattern",
		  "simpleType", "totalDigits", "whiteSpace", "assert*"
		]
	},
	"list" : 
	{
		"attributes" : 
		{
		   "id" :
		   {
				"type" : "ID",
				"insert" : "id=\"##\""
		   }
		},
		"members" :
		[
		  "annotation",
		  "simpleType"
		]
	},
	"union" : 
	{
		"members" :
		[
		  "annotation",
		  "simpleType"
		]
	},
	"sequence" :
	{
		"attributes" : 
		{
		    "id" :
		    {
				"type" : "ID",
				"insert" : "id=\"##\""
		    },
			"maxOccurs" :
			{
			    "type" : "nonNegativeInteger",
				"insert" : "maxOccurs=\"#1#\"",
				"values" :
				[
				   "1", "unbounded"
				]
			},
			"minOccurs" :
			{
			    "type" : "nonNegativeInteger",
				"insert" : "minOccurs=\"#0#\"",
				"values" :
				[
				   "0", "1"
				]
			}
		},
		"members" :
		[
		  "annotation",
		  "element", 
		  "group", 
		  "choice", 
		  "sequence", 
		  "any"
		]
	},
	"choice" :
	{
		"attributes" : 
		{
		    "id" :
		    {
				"type" : "ID",
				"insert" : "id=\"##\""
		    },
			"maxOccurs" :
			{
			    "type" : "nonNegativeInteger",
				"insert" : "maxOccurs=\"#1#\"",
				"values" :
				[
				   "1", "unbounded"
				]
			},
			"minOccurs" :
			{
			    "type" : "nonNegativeInteger",
				"insert" : "minOccurs=\"#0#\"",
				"values" :
				[
				   "0", "1"
				]
			}
		},
		"members" :
		[
		  "annotation",
		  "element", 
		  "group", 
		  "choice", 
		  "sequence", 
		  "any"
		]
	},	
	"attribute" :
	{
		"attributes" :
		{
			"default" :
			{
				"type" : "string",
				"insert" : "default=\"##\""
			},
			"fixed" :
			{
				"type" : "string",
				"insert" : "fixed=\"##\""
			},
			"form" : 
			{
				"type" : "string",
				"insert" : "form=\"#qualified#\"",
				"values" : 
				[
					"qualified", "unqualified" 
				]
			},
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"name" : 
			{
				"type" : "NCName",
				"insert" : "name=\"#NCName#\""
			},
			"ref" :
			{
			    "type" : "QName",
				"insert" : "ref=\"#QName#\""
			},
			"targetNamespace" :
			{
				"type" : "anyURI",
				"insert" : "targetNamespace=\"#anyURI#\""
			},
			"type" : 
			{
				"type" : "QName",
				"insert" : "type=\"#QName#\""
			},
			"use" :
			{
				"type" : "string",
				"insert" : "use=\"#optional#\"",
				"values" : 
				[
					"optional", "prohibited", "required"
				]			
			},
			"inheritable" :
			{
			    "type" : "boolean",
				"insert" : "inheritable=\"##\"",
				"values" :
				[
					"true", "false"
				]
			}
		},
		"members" :
		[
		  "annotation", "simpleType"
		]
	},
	"extension" :
	{
		"attributes" : 
		{
			"base" : 
			{
				"type" : "QName",
				"insert" : "base=\"#QName#\""
			},
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			}
		},
		"members" :
		[
		  "annotation", "attribute", "attributeGroup", "anyAttribute", "assert*"
		]
	},
	"openContent" :
	{
		"attributes" : 
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"mode" : 
			{
				"type" : "QName",
				"insert" : "mode=\"#interleave#\"",
				"values" :
				[
					"none", "interleave", "suffix"
				]
				
			}
		},
		"members" :
		[
		  "annotation", "attribute", "attributeGroup", "anyAttribute"
		]
	},
	"group" :
	{
		"attributes" : 
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"maxOccurs" :
			{
				"type" : "nonNegativeInteger",
				"insert" : "maxOccurs=\"#1#\"",
				"values" :
				[
				   "1", "unbounded"
				]
			},
			"minOccurs" :
			{
				"type" : "nonNegativeInteger",
				"insert" : "minOccurs=\"#0#\"",
				"values" :
				[
				   "0", "1"
				]
			},
			"name" : 
			{
				"type" : "NCName",
				"insert" : "name=\"#NCName#\""
			},
			"ref" :
			{
			    "type" : "QName",
				"insert" : "ref=\"#QName#\""
			}
		},
		"members" :
		[
		  "annotation", "all", "choice", "sequence"
		]
	},
	"element" :
	{
		"attributes" : 
		{
			"block" : 
			{
				"type" : "string",
				"insert" : "block=\"#all#\"",
				"values" : 
				[
					"all", "extension", "restriction", "substitution" 
				]
			},
			"default" :
			{
				"type" : "string",
				"insert" : "default=\"##\""
			},
			"final" : 
			{
				"type" : "string",
				"insert" : "final=\"#all#\"",
				"values" : 
				[
					"all", "restriction", "extension" 
				]
			},
			"fixed" :
			{
				"type" : "string",
				"insert" : "fixed=\"##\""
			},
			"form" : 
			{
				"type" : "string",
				"insert" : "form=\"#qualified#\"",
				"values" : 
				[
					"qualified", "unqualified" 
				]
			},
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"maxOccurs" :
			{
			    "type" : "nonNegativeInteger",
				"insert" : "maxOccurs=\"#1#\"",
				"values" :
				[
				   "1", "unbounded"
				]
			},
			"minOccurs" :
			{
			    "type" : "nonNegativeInteger",
				"insert" : "minOccurs=\"#0#\"",
				"values" :
				[
				   "0", "1"
				]
			},
			"name" : 
			{
				"type" : "NCName",
				"insert" : "name=\"#NCName#\""
			},
			"nillable" :
			{
			    "type" : "boolean",
				"insert" : "nillable=\"#false#\"",
				"values" :
				[
					"true", "false"
				]
			},
			"ref" :
			{
			    "type" : "QName",
				"insert" : "ref=\"#QName#\""
			},
			"substitutionGroup" :
			{
			    "type" : "QName",
				"insert" : "substitutionGroup=\"##\""
			},
			"targetNamespace" :
			{
				"type" : "anyURI",
				"insert" : "targetNamespace=\"#anyURI#\""
			},
			"type" : 
			{
				"type" : "QName",
				"insert" : "type=\"#QName#\""
			}
		},
		"members" :
		[
		  "annotation",
		  "simpleType", 
		  "complexType", 
		  "key", 
		  "keyref", 
		  "unique", 
		  "alternative"
		]
	},
	"any" :
	{
		"attributes" :
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"maxOccurs" :
			{
				"type" : "nonNegativeInteger",
				"insert" : "maxOccurs=\"#1#\"",
				"values" :
				[
				   "1", "unbounded"
				]
			},
			"minOccurs" :
			{
				"type" : "nonNegativeInteger",
				"insert" : "minOccurs=\"#1#\"",
				"values" :
				[
				   "0", "1"
				]
			},
			"namespace" :
			{
				"type" : "anyURI",
				"insert" : "namespace=\"#anyURI#\"",
				"values" :
				[
					"##any", "##other", "##targetNamespace", "##local", "anyURI"
				]
			},
			"notNamespace" :
			{
				"type" : "anyURI",
				"insert" : "notNamespace=\"#anyURI#\"",
				"values" :
				[
					"anyURI", "##targetNamespace", "##local"
				]
			},
			"notQName" :
			{
				"type" : "QName",
				"insert" : "notQName=\"#QName#\"",
				"values" :
				[
					"QName", "##defined", "##definedSibling"
				]
			},
			"processContents" :
			{
				"type" : "string",
				"insert" : "processContents=\"#strict#\"",
				"values" :
				[
					"lax", "skip", "strict"
				]
			}
		},
		"members" :
		[
			"annotation"
		]
	},
	"anyAttribute" :
	{
		"attributes" : 
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"namespace" :
			{
				"type" : "anyURI",
				"insert" : "namespace=\"#anyURI#\"",
				"values" :
				[
					"anyURI", "##any", "##other", "##targetNamespace", "##local"
				]
			},
			"notNamespace" :
			{
				"type" : "anyURI",
				"insert" : "notNamespace=\"#anyURI#\"",
				"values" :
				[
					"anyURI", "##targetNamespace", "##local"
				]
			},
			"notQName" :
			{
				"type" : "QName",
				"insert" : "notQName=\"#QName#\"",
				"values" :
				[
					"QName", "##defined"
				]
			},
			"processContents" :
			{
				"type" : "string",
				"insert" : "processContents=\"#strict#\"",
				"values" :
				[
					"lax", "skip", "strict"
				]
			}
		},
		"members" :
		[
			"annotation"
		]
	},
	"all" :
	{
		"attributes" : 
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"maxOccurs" :
			{
				"type" : "nonNegativeInteger",
				"insert" : "maxOccurs=\"#1#\"",
				"values" :
				[
				   "1", "unbounded"
				]
			},
			"minOccurs" :
			{
				"type" : "nonNegativeInteger",
				"insert" : "minOccurs=\"#0#\"",
				"values" :
				[
				   "0", "1"
				]
			}
		},
		"members" :
		[
		  "annotation", "element", "any", "group"
		]
	},
	"unique" :
	{
		"attributes" :
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"name" : 
			{
				"type" : "NCName",
				"insert" : "name=\"#NCName#\""
			},
			"ref" :
			{
			    "type" : "QName",
				"insert" : "ref=\"#QName#\""
			}
		},
		"members" :
		[
			"annotation", "selector", "field+"
		]
	},
	"key" :
	{
		"attributes" :
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"name" : 
			{
				"type" : "NCName",
				"insert" : "name=\"#NCName#\""
			},
			"ref" :
			{
			    "type" : "QName",
				"insert" : "ref=\"#QName#\""
			}
		},
		"members" :
		[
			"annotation", "selector", "field+"
		]
	},
	"selector" :
	{
		"attributes" :
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"xpath" : 
			{
				"type" : "XPath",
				"insert" : "xpath=\"#XPath#\""
			},
			"xpathDefaultNamespace" :
			{
			    "type" : "anyURI",
				"insert" : "xpathDefaultNamespace=\"#anyURI#\"",
				"values" :
				[
					"anyURI", "##defaultNamespace", "##targetNamespace", "##local" 
				]
			}
		},
		"members" :
		[
			"annotation"
		]
	},
	"field" :
	{
		"attributes" :
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"xpath" : 
			{
				"type" : "XPath",
				"insert" : "xpath=\"#XPath#\""
			},
			"xpathDefaultNamespace" :
			{
			    "type" : "anyURI",
				"insert" : "xpathDefaultNamespace=\"#anyURI#\"",
				"values" :
				[
					"anyURI", "##defaultNamespace", "##targetNamespace", "##local" 
				]
			}
		},
		"members" :
		[
			"annotation", "selector", "field+"
		]
	},
	"keyref" :
	{
		"attributes" :
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
			"name" : 
			{
				"type" : "NCName",
				"insert" : "name=\"#NCName#\""
			},
			"ref" :
			{
			    "type" : "QName",
				"insert" : "ref=\"#QName#\""
			},
			"refer" :
			{
			    "type" : "QName",
				"insert" : "refer=\"#QName#\""
			}
		},
		"members" :
		[
			"annotation", "selector", "field+"
		]
	},
	"assert" :
	{
		"attributes" :
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
            "test" :
			{
				"type" : "XPath",
				"insert" : "test=\"#XPath#\""
			},
			"xpathDefaultNamespace" :
			{
			    "type" : "anyURI",
				"insert" : "xpathDefaultNamespace=\"#anyURI#\"",
				"values" :
				[
					"anyURI", "##defaultNamespace", "##targetNamespace", "##local" 
				]
			}
		},
		"members" :
		[
			"annotation"
		]
	},
	"alternative" :
	{
		"attributes" :
		{
			"id" :
			{
				"type" : "ID",
				"insert" : "id=\"#id#\""
			},
            "test" :
			{
				"type" : "XPath",
				"insert" : "test=\"#XPath#\""
			},
			"type" :
			{
				"type" : "QName",
				"insert" : "type=\"#QName#\""
			},
			"xpathDefaultNamespace" :
			{
			    "type" : "anyURI",
				"insert" : "xpathDefaultNamespace=\"#anyURI#\"",
				"values" :
				[
					"anyURI", "##defaultNamespace", "##targetNamespace", "##local" 
				]
			}
		},
		"members" :
		[
		   "annotation", "simpleType",  "complexType"
		]
	}
}