{
    "name": "CSLName",
    "pkg": "de.undercouch.citeproc.csl",
    "description": "A human being's name",
    
    "props": [
        {
            "type": "String",
            "name": "family"
        },
        {
            "type": "String",
            "name": "given"
        },
        {
            "type": "String",
            "name": "dropping-particle"
        },
        {
            "type": "String",
            "name": "non-dropping-particle"
        },
        {
            "type": "String",
            "name": "suffix"
        },
        {
            "type": "Boolean",
            "name": "comma-prefix"
        },
        {
            "type": "Boolean",
            "name": "comma-suffix"
        },
        {
            "type": "Boolean",
            "name": "static-ordering"
        },
        {
            "type": "String",
            "name": "literal"
        },
        {
            "type": "Boolean",
            "name": "parse-names"
        }
    ],
    
    "additionalFromJsonCode": [
        "{ Object v = obj.get(\"multi\"); if (v != null && v instanceof Map) { Map<?, ?> vc = (Map<?, ?>)v; Object vcmain = vc.get(\"main\"); if (vcmain != null && vcmain instanceof String) { String mstr = (String)vcmain; mstr = mstr.toLowerCase().substring(0, 2); if (mstr.equals(\"hu\") || mstr.equals(\"vn\")) { builder.staticOrdering(true); } } } }"
    ]
}

{
    "name": "CSLName",
    "pkg": "de.undercouch.citeproc.csl",
    "description": "A human being's name",
    
    "props": [
        {
            "type": "String",
            "name": "family"
        },
        {
            "type": "String",
            "name": "given"
        },
        {
            "type": "String",
            "name": "dropping-particle"
        },
        {
            "type": "String",
            "name": "non-dropping-particle"
        },
        {
            "type": "String",
            "name": "suffix"
        },
        {
            "type": "Boolean",
            "name": "comma-prefix"
        },
        {
            "type": "Boolean",
            "name": "comma-suffix"
        },
        {
            "type": "Boolean",
            "name": "static-ordering"
        },
        {
            "type": "String",
            "name": "literal"
        },
        {
            "type": "Boolean",
            "name": "parse-names"
        },
        {
            "type": "Boolean",
            "name": "isInstitution"
        }
    ],
    
    "additionalFromJsonCode": [
        "{ Object v = obj.get(\"multi\"); if (v != null && v instanceof Map) { Map<?, ?> vc = (Map<?, ?>)v; Object vcmain = vc.get(\"main\"); if (vcmain != null && vcmain instanceof String) { String mstr = (String)vcmain; mstr = mstr.toLowerCase().substring(0, 2); if (mstr.equals(\"hu\") || mstr.equals(\"vn\")) { builder.staticOrdering(true); } } } }"
    ]
}

Support isInstitution attribute in Name
Support isInstitution attribute in Name
