isc.DataSource.create({
    allowAdvancedCriteria:true,
    ID:"DataSourceField",
    addGlobalId:"false",
    fields:[
        {
            xmlAttribute:"true",
            title:"Name",
            basic:"true",
            primaryKey:"true",
            type:"string",
            required:"true",
            name:"name"
        },
        {
            xmlAttribute:"true",
            title:"Type",
            basic:"true",
            type:"string",
            name:"type"
        },
        {
            title:"Disabled",
            type:"boolean",
            name:"disabled"
        },
        {
            xmlAttribute:"true",
            title:"ID Allowed",
            type:"boolean",
            name:"idAllowed"
        },
        {
            xmlAttribute:"true",
            title:"Required",
            type:"boolean",
            name:"required"
        },
        {
            type:"ValueMap",
            name:"valueMap"
        },
        {
            propertiesOnly:"true",
            type:"Validator",
            multiple:"true",
            name:"validators"
        },
        {
            xmlAttribute:"true",
            title:"Length",
            type:"integer",
            name:"length"
        },
        {
            xmlAttribute:"true",
            title:"Decimal Pad",
            type:"integer",
            name:"decimalPad"
        },
        {
            xmlAttribute:"true",
            title:"Decimal Precision",
            type:"integer",
            name:"decimalPrecision"
        },
        {
            visibility:"internal",
            type:"boolean",
            name:"xmlRequired"
        },
        {
            visibility:"internal",
            type:"string",
            name:"xmlMaxOccurs"
        },
        {
            visibility:"internal",
            type:"integer",
            name:"xmlMinOccurs"
        },
        {
            visibility:"internal",
            type:"boolean",
            name:"xmlNonEmpty"
        },
        {
            visibility:"internal",
            type:"boolean",
            name:"xsElementRef"
        },
        {
            title:"User can hide",
            type:"boolean",
            name:"canHide"
        },
        {
            visibility:"internal",
            type:"boolean",
            name:"xmlAttribute"
        },
        {
            visibility:"internal",
            type:"boolean",
            name:"mustQualify"
        },
        {
            xmlAttribute:"true",
            title:"Value XPath",
            type:"XPath",
            name:"valueXPath"
        },
        {
            type:"boolean",
            name:"childrenProperty"
        },
        {
            xmlAttribute:"true",
            title:"Title",
            type:"string",
            name:"title"
        },
        {
            xmlAttribute:"true",
            type:"string",
            name:"prompt"
        },
        {
            xmlAttribute:"true",
            title:"Detail",
            type:"boolean",
            name:"detail"
        },
        {
            xmlAttribute:"true",
            title:"Can Edit",
            type:"boolean",
            name:"canEdit"
        },
        {
            xmlAttribute:"true",
            title:"Can Save",
            type:"boolean",
            name:"canSave"
        },
        {
            xmlAttribute:"true",
            title:"Can View",
            type:"boolean",
            name:"canView"
        },
        {
            title:"Inapplicable",
            inapplicable:"true",
            type:"boolean",
            name:"inapplicable"
        },
        {
            title:"Advanced",
            inapplicable:"true",
            type:"boolean",
            name:"advanced"
        },
        {
            title:"Visibility",
            inapplicable:"true",
            type:"string",
            name:"visibility"
        },
        {
            xmlAttribute:"true",
            title:"Hidden",
            inapplicable:"true",
            type:"boolean",
            name:"hidden"
        },
        {
            xmlAttribute:"true",
            title:"Is Primary Key",
            type:"boolean",
            name:"primaryKey"
        },
        {
            xmlAttribute:"true",
            title:"Foreign Key",
            type:"string",
            name:"foreignKey"
        },
        {
            xmlAttribute:"true",
            title:"Tree Root Value",
            type:"string",
            name:"rootValue"
        },
        {
            xmlAttribute:"true",
            title:"Include From",
            type:"string",
            name:"includeFrom"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"showFileInline"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"escapeHTML"
        },
        {
            xmlAttribute:"true",
            type:"integerOrIdentifier",
            name:"imageWidth"
        },
        {
            xmlAttribute:"true",
            type:"integerOrIdentifier",
            name:"imageHeight"
        },
        {
            title:"Native Name",
            hidden:"true",
            type:"string",
            name:"nativeName"
        },
        {
            xmlAttribute:"true",
            title:"Native Foreign Key",
            hidden:"true",
            type:"string",
            name:"nativeFK"
        },
        {
            xmlAttribute:"true",
            hidden:"true",
            type:"boolean",
            name:"autoDeriveFKs"
        },
        {
            title:"Field Name",
            hidden:"true",
            type:"string",
            name:"fieldName"
        },
        {
            hidden:"true",
            propertiesOnly:"true",
            childTagName:"field",
            type:"DataSourceField",
            multiple:"true",
            uniqueProperty:"name",
            name:"fields"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"multiple"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"validateEachItem"
        },
        {
            type:"Object",
            multiple:"true",
            name:"pickListFields"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"canFilter"
        },
        {
            type:"boolean",
            name:"ignore"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"unknownType"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"canSortClientOnly"
        },
        {
            xmlAttribute:"true",
            type:"string",
            name:"childTagName"
        },
        {
            type:"boolean",
            name:"basic"
        },
        {
            type:"integer",
            name:"maxFileSize"
        },
        {
            xmlAttribute:"true",
            title:"Frozen",
            type:"boolean",
            name:"frozen"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"canExport"
        },
        {
            xmlAttribute:"true",
            type:"string",
            name:"sqlStorageStrategy"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"encodeInResponse"
        },
        {
            xmlAttribute:"true",
            type:"string",
            name:"mimeType"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"ignoreTextMatchStyle"
        },
        {
            xmlAttribute:"true",
            type:"boolean",
            name:"lenientXPath"
        },
        {
            xmlAttribute:"true",
            type:"string",
            name:"groupFunction"
        },
        {
            xmlAttribute:"true",
            type:"string",
            name:"joinString"
        },
        {
            xmlAttribute:"true",
            type:"string",
            name:"joinPrefix"
        },
        {
            xmlAttribute:"true",
            type:"string",
            name:"joinSuffix"
        }
    ]
})
