isc.DataSource.create({
    Constructor:"DataSource",
    ID:"DataSource",
    addGlobalId:"false",
    fields:{
        ID:{required:"true", type:"string", xmlAttribute:"true"},
        inheritsFrom:{title:"Superclass", type:"string"},
        useParentFieldOrder:{type:"boolean"},
        useLocalFieldsOnly:{type:"boolean"},
        restrictToParentFields:{type:"boolean"},
        dataFormat:{
            title:"DataFormat",
            type:"string",
            xmlAttribute:"true",
            valueMap:{custom:"Custom Binding", iscServer:"ISC Java Server", json:"JSON Web Service",
             xml:"XML / WSDL Web Service"}
        },
        noAutoFetch:{type:"boolean", xmlAttribute:"true"},
        serverType:{
            title:"Server Type",
            type:"string",
            xmlAttribute:"true",
            valueMap:{custom:"Custom Server Binding", sql:"ISC Server SQL Connectors"}
        },
        callbackParam:{title:"Callback Parameter", type:"string", xmlAttribute:"true"},
        requestProperties:{type:"Object"},
        fields:{childTagName:"field", multiple:"true", propertiesOnly:"true", type:"DataSourceField",
         uniqueProperty:"name"},
        addGlobalId:{title:"Add Global ID", type:"boolean"},
        showPrompt:{type:"boolean"},
        dbName:{title:"Database Name", type:"string", xmlAttribute:"true"},
        tableName:{title:"Table Name", type:"string", xmlAttribute:"true"},
        serverObject:{type:"ServerObject"},
        operationBindings:{multiple:"true", type:"OperationBinding"},
        serviceNamespace:{type:"string", xmlAttribute:"true"},
        dataURL:{type:"string", xmlAttribute:"true"},
        dataProtocol:{type:"string", xmlAttribute:"true"},
        dataTransport:{type:"string", xmlAttribute:"true"},
        defaultParams:{type:"Object"},
        soapAction:{type:"string"},
        jsonPrefix:{type:"string"},
        jsonSuffix:{type:"string"},
        messageTemplate:{type:"string"},
        defaultCriteria:{propertiesOnly:"true", type:"Object", visibility:"internal"},
        tagName:{type:"string", visibility:"xmlBinding"},
        recordXPath:{type:"XPath"},
        recordName:{type:"string"},
        xmlNamespaces:{type:"Object"},
        dropExtraFields:{type:"boolean"},
        schemaNamespace:{type:"string", visibility:"internal", xmlAttribute:"true"},
        mustQualify:{type:"boolean", visibility:"internal"},
        xsdSimpleContent:{type:"boolean", visibility:"internal"},
        xsdAnyElement:{type:"boolean", visibility:"internal"},
        xsdAbstract:{type:"boolean", visibility:"internal"},
        title:{title:"Title", type:"string"},
        titleField:{title:"Title Field", type:"string"},
        pluralTitle:{title:"Plural Title", type:"string"},
        clientOnly:{title:"Client Only", type:"boolean", xmlAttribute:"true"},
        testFileName:{title:"Test File Name", type:"URL", xmlAttribute:"true"},
        testData:{multiple:"true", type:"Object"},
        types:{multiple:"true", propertiesOnly:"true", type:"DataSourceField", uniqueProperty:"ID",
         visibility:"internal"},
        groups:{multiple:"true", type:"string", visibility:"internal"},
        methods:{multiple:"true", type:"MethodDeclaration", visibility:"internal"},
        showSuperClassActions:{type:"boolean"},
        createStandalone:{type:"boolean"},
        useFlatFields:{type:"boolean"},
        showLocalFieldsOnly:{type:"boolean", xmlAttribute:"true"},
        globalNamespaces:{type:"Object"},
        autoDeriveSchema:{type:"boolean"},
        useLocalValidators:{type:"boolean"},
        autoDeriveTitles:{type:"boolean"},
        qualifyColumnNames:{type:"boolean"},
        validateRelatedRecords:{type:"boolean"},
        requiresAuthentication:{type:"boolean"},
        requiresRoles:{type:"boolean"},
        requires:{type:"string"},
        beanClassName:{type:"string"}
    }
})
