Add support for mimetype codes from system urn:ietf:bcp:13
This commit is contained in:
parent
763894c28f
commit
3a142bb5e4
|
@ -31,11 +31,14 @@ import org.hl7.fhir.instance.model.api.IBaseResource;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
|
||||
|
@ -150,7 +153,7 @@ public class ClasspathUtil {
|
|||
}
|
||||
|
||||
public static Function<InputStream, InputStream> withBom() {
|
||||
return t -> new BOMInputStream(t);
|
||||
return BOMInputStream::new;
|
||||
}
|
||||
|
||||
public static byte[] loadResourceAsByteArray(String theClasspath) {
|
||||
|
@ -163,4 +166,29 @@ public class ClasspathUtil {
|
|||
close(stream);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of files in a directory which resides in the classpath.
|
||||
* Please note that the returned paths will be relative.
|
||||
* This method can be used with other methods in this class to load multiple resource files.
|
||||
* @param theDirectory the directory in the classpath to lookup
|
||||
* @return the list of files containing relative path and file name
|
||||
*/
|
||||
public static List<String> getFilesFromDirectory(String theDirectory) {
|
||||
List<String> filenames = new ArrayList<>();
|
||||
try (InputStream in = ClasspathUtil.class.getResourceAsStream(theDirectory)) {
|
||||
if (in == null) {
|
||||
throw new InternalErrorException(Msg.code(1758) + "Unable to find directory: " + theDirectory);
|
||||
}
|
||||
try (BufferedReader br = new BufferedReader(new InputStreamReader(in))) {
|
||||
String fileName;
|
||||
while ((fileName = br.readLine()) != null) {
|
||||
filenames.add(theDirectory + "/" + fileName);
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new InternalErrorException(Msg.code(2479) + e.getMessage());
|
||||
}
|
||||
return filenames;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
|
||||
org.hl7.fhir.common.hapi.validation.support.InMemoryTerminologyServerValidationSupport.displayMismatch=Concept Display "{0}" does not match expected "{1}"
|
||||
|
||||
org.hl7.fhir.common.hapi.validation.support.CommonCodeSystemsTerminologyService.unknownCodeSystem=Unknown code "{0}#{1}"
|
||||
org.hl7.fhir.common.hapi.validation.support.CommonCodeSystemsTerminologyService.invalidCodeInSystem=Code {0} is not valid for system: {1}
|
||||
org.hl7.fhir.common.hapi.validation.support.CommonCodeSystemsTerminologyService.mismatchCodeSystem=Inappropriate CodeSystem URL "{0}" for ValueSet: {1}
|
||||
org.hl7.fhir.common.hapi.validation.support.CommonCodeSystemsTerminologyService.codeNotFoundInValueSet=Code "{0}" is not in valueset: {1}
|
||||
|
||||
ca.uhn.fhir.jpa.term.TermReadSvcImpl.expansionRefersToUnknownCs=Unknown CodeSystem URI "{0}" referenced from ValueSet
|
||||
ca.uhn.fhir.jpa.term.TermReadSvcImpl.valueSetNotYetExpanded=ValueSet "{0}" has not yet been pre-expanded. Performing in-memory expansion without parameters. Current status: {1} | {2}
|
||||
|
@ -11,9 +15,6 @@ ca.uhn.fhir.jpa.term.TermReadSvcImpl.validationPerformedAgainstPreExpansion=Code
|
|||
ca.uhn.fhir.jpa.term.TermReadSvcImpl.valueSetNotFoundInTerminologyDatabase=ValueSet can not be found in terminology database: {0}
|
||||
ca.uhn.fhir.jpa.term.TermReadSvcImpl.valueSetPreExpansionInvalidated=ValueSet with URL "{0}" precaluclated expansion with {1} concept(s) has been invalidated
|
||||
ca.uhn.fhir.jpa.term.TermReadSvcImpl.valueSetCantInvalidateNotYetPrecalculated=ValueSet with URL "{0}" already has status: {1}
|
||||
ca.uhn.fhir.jpa.term.TermReadSvcImpl.unknownCodeInSystem=Unknown code "{0}#{1}"
|
||||
|
||||
|
||||
# Core Library Messages
|
||||
ca.uhn.fhir.context.FhirContext.unknownResourceName=Unknown resource name "{0}" (this name is not known in FHIR version "{1}")
|
||||
ca.uhn.fhir.context.FhirContext.noStructures=Could not find any HAPI-FHIR structure JARs on the classpath. Note that as of HAPI-FHIR v0.8, a separate FHIR strcture JAR must be added to your classpath (or project pom.xml if you are using Maven)
|
||||
|
|
|
@ -8,9 +8,12 @@ import ca.uhn.fhir.context.support.IValidationSupport;
|
|||
import ca.uhn.fhir.context.support.LookupCodeRequest;
|
||||
import ca.uhn.fhir.context.support.ValidationSupportContext;
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.rest.api.Constants;
|
||||
import ca.uhn.fhir.rest.api.EncodingEnum;
|
||||
import ca.uhn.fhir.util.ClasspathUtil;
|
||||
import ca.uhn.hapi.converters.canonical.VersionCanonicalizer;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.node.ArrayNode;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
|
@ -65,12 +68,13 @@ public class CommonCodeSystemsTerminologyService implements IValidationSupport {
|
|||
public static final String UCUM_CODESYSTEM_URL = "http://unitsofmeasure.org";
|
||||
public static final String UCUM_VALUESET_URL = "http://hl7.org/fhir/ValueSet/ucum-units";
|
||||
public static final String ALL_LANGUAGES_VALUESET_URL = "http://hl7.org/fhir/ValueSet/all-languages";
|
||||
private static final String USPS_CODESYSTEM_URL = "https://www.usps.com/";
|
||||
private static final String USPS_VALUESET_URL = "http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state";
|
||||
public static final String USPS_CODESYSTEM_URL = "https://www.usps.com/";
|
||||
public static final String USPS_VALUESET_URL = "http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state";
|
||||
private static final Logger ourLog = LoggerFactory.getLogger(CommonCodeSystemsTerminologyService.class);
|
||||
private static final Map<String, String> USPS_CODES = Collections.unmodifiableMap(buildUspsCodes());
|
||||
private static final Map<String, String> ISO_4217_CODES = Collections.unmodifiableMap(buildIso4217Codes());
|
||||
private static final Map<String, String> ISO_3166_CODES = Collections.unmodifiableMap(buildIso3166Codes());
|
||||
private static final Map<String, String> MIMETYPE_CODES = Collections.unmodifiableMap(buildMimetypeCodes());
|
||||
private final FhirContext myFhirContext;
|
||||
private final VersionCanonicalizer myVersionCanonicalizer;
|
||||
private volatile org.hl7.fhir.r5.model.ValueSet myLanguagesVs;
|
||||
|
@ -133,10 +137,7 @@ public class CommonCodeSystemsTerminologyService implements IValidationSupport {
|
|||
case LANGUAGES_VALUESET_URL:
|
||||
expectSystem = LANGUAGES_CODESYSTEM_URL;
|
||||
if (!expectSystem.equals(theCodeSystem) && !(theCodeSystem == null && theOptions.isInferSystem())) {
|
||||
return new CodeValidationResult()
|
||||
.setSeverity(IssueSeverity.ERROR)
|
||||
.setMessage("Inappropriate CodeSystem URL \"" + theCodeSystem + "\" for ValueSet: "
|
||||
+ theValueSetUrl);
|
||||
return getValidateCodeResultInError("mismatchCodeSystem", theCodeSystem, theValueSetUrl);
|
||||
}
|
||||
|
||||
IBaseResource languagesVs = myLanguagesVs;
|
||||
|
@ -156,32 +157,26 @@ public class CommonCodeSystemsTerminologyService implements IValidationSupport {
|
|||
.setCode(theCode)
|
||||
.setDisplay(match.get().getDisplay());
|
||||
} else {
|
||||
return new CodeValidationResult()
|
||||
.setSeverity(IssueSeverity.ERROR)
|
||||
.setMessage("Code \"" + theCode + "\" is not in valueset: " + theValueSetUrl);
|
||||
return getValidateCodeResultInError("codeNotFoundInValueSet", theCode, theValueSetUrl);
|
||||
}
|
||||
|
||||
case ALL_LANGUAGES_VALUESET_URL:
|
||||
expectSystem = LANGUAGES_CODESYSTEM_URL;
|
||||
if (!expectSystem.equals(theCodeSystem) && !(theCodeSystem == null && theOptions.isInferSystem())) {
|
||||
return new CodeValidationResult()
|
||||
.setSeverity(IssueSeverity.ERROR)
|
||||
.setMessage("Inappropriate CodeSystem URL \"" + theCodeSystem + "\" for ValueSet: "
|
||||
+ theValueSetUrl);
|
||||
return getValidateCodeResultInError("mismatchCodeSystem", theCodeSystem, theValueSetUrl);
|
||||
}
|
||||
|
||||
LookupCodeResult outcome = lookupLanguageCode(theCode);
|
||||
if (outcome.isFound()) {
|
||||
return new CodeValidationResult().setCode(theCode).setDisplay(outcome.getCodeDisplay());
|
||||
} else {
|
||||
return new CodeValidationResult()
|
||||
.setSeverity(IssueSeverity.ERROR)
|
||||
.setMessage("Code \"" + theCode + "\" is not in valueset: " + theValueSetUrl);
|
||||
return getValidateCodeResultInError("codeNotFoundInValueSet", theCode, theValueSetUrl);
|
||||
}
|
||||
|
||||
case MIMETYPES_VALUESET_URL:
|
||||
// This is a pretty naive implementation - Should be enhanced in future
|
||||
return new CodeValidationResult().setCode(theCode).setDisplay(theDisplay);
|
||||
handlerMap = MIMETYPE_CODES;
|
||||
expectSystem = MIMETYPES_CODESYSTEM_URL;
|
||||
break;
|
||||
|
||||
case UCUM_VALUESET_URL: {
|
||||
String system = theCodeSystem;
|
||||
|
@ -206,9 +201,7 @@ public class CommonCodeSystemsTerminologyService implements IValidationSupport {
|
|||
}
|
||||
|
||||
String actualSystem = defaultIfBlank(theCodeSystem, expectSystem);
|
||||
String unknownCodeMessage = myFhirContext
|
||||
.getLocalizer()
|
||||
.getMessage("ca.uhn.fhir.jpa.term.TermReadSvcImpl.unknownCodeInSystem", actualSystem, theCode);
|
||||
String unknownCodeMessage = getErrorMessage("unknownCodeSystem", actualSystem, theCode);
|
||||
return new CodeValidationResult().setSeverity(IssueSeverity.ERROR).setMessage(unknownCodeMessage);
|
||||
}
|
||||
|
||||
|
@ -253,36 +246,37 @@ public class CommonCodeSystemsTerminologyService implements IValidationSupport {
|
|||
case UCUM_CODESYSTEM_URL:
|
||||
return lookupUcumCode(code);
|
||||
case MIMETYPES_CODESYSTEM_URL:
|
||||
return lookupMimetypeCode(code);
|
||||
map = MIMETYPE_CODES;
|
||||
break;
|
||||
case COUNTRIES_CODESYSTEM_URL:
|
||||
map = ISO_3166_CODES;
|
||||
if (!map.containsKey(code)) {
|
||||
map = new HashMap<>(map);
|
||||
map.put(code, code);
|
||||
}
|
||||
break;
|
||||
case CURRENCIES_CODESYSTEM_URL:
|
||||
map = ISO_4217_CODES;
|
||||
break;
|
||||
case USPS_CODESYSTEM_URL:
|
||||
map = USPS_CODES;
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
String display = map.get(code);
|
||||
if (isNotBlank(display)) {
|
||||
LookupCodeResult retVal = new LookupCodeResult();
|
||||
retVal.setSearchedForCode(code);
|
||||
retVal.setSearchedForSystem(system);
|
||||
retVal.setFound(true);
|
||||
retVal.setCodeDisplay(display);
|
||||
return retVal;
|
||||
}
|
||||
|
||||
// If we get here it means we know the codesystem but the code was bad
|
||||
LookupCodeResult retVal = new LookupCodeResult();
|
||||
retVal.setSearchedForCode(code);
|
||||
retVal.setSearchedForSystem(system);
|
||||
retVal.setFound(false);
|
||||
retVal.setErrorMessage("Code '" + code + "' is not valid for system: " + system);
|
||||
|
||||
String display = map.get(code);
|
||||
if (isNotBlank(display)) {
|
||||
retVal.setFound(true);
|
||||
retVal.setCodeDisplay(display);
|
||||
} else {
|
||||
// If we get here it means we know the CodeSystem but the code was bad
|
||||
retVal.setFound(false);
|
||||
String invalidCodeMessage = getErrorMessage("invalidCodeInSystem", system, code);
|
||||
retVal.setErrorMessage(invalidCodeMessage);
|
||||
}
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
|
@ -291,61 +285,45 @@ public class CommonCodeSystemsTerminologyService implements IValidationSupport {
|
|||
initializeBcp47LanguageMap();
|
||||
}
|
||||
|
||||
int langRegionSeparatorIndex = StringUtils.indexOfAny(theCode, '-', '_');
|
||||
boolean hasRegionAndCodeSegments = langRegionSeparatorIndex > 0;
|
||||
String language;
|
||||
String region;
|
||||
final LookupCodeResult lookupCodeResult = new LookupCodeResult();
|
||||
lookupCodeResult.setSearchedForSystem(LANGUAGES_CODESYSTEM_URL);
|
||||
lookupCodeResult.setSearchedForCode(theCode);
|
||||
|
||||
final int langRegionSeparatorIndex = StringUtils.indexOfAny(theCode, '-', '_');
|
||||
final boolean hasRegionAndCodeSegments = langRegionSeparatorIndex > 0;
|
||||
|
||||
final boolean found;
|
||||
final String display;
|
||||
|
||||
if (hasRegionAndCodeSegments) {
|
||||
// we look for languages in lowercase only
|
||||
// this will allow case insensitivity for language portion of code
|
||||
language = myLanguagesLanugageMap.get(
|
||||
String language = myLanguagesLanugageMap.get(
|
||||
theCode.substring(0, langRegionSeparatorIndex).toLowerCase());
|
||||
region = myLanguagesRegionMap.get(
|
||||
String region = myLanguagesRegionMap.get(
|
||||
theCode.substring(langRegionSeparatorIndex + 1).toUpperCase());
|
||||
|
||||
if (language == null || region == null) {
|
||||
// In case the user provides both a language and a region, they must both be valid for the lookup to
|
||||
// succeed.
|
||||
// In case the user provides both a language and a region, they must both be valid for the lookup to
|
||||
// succeed.
|
||||
found = language != null && region != null;
|
||||
display = found ? language + " " + region : null;
|
||||
if (!found) {
|
||||
ourLog.warn("Couldn't find a valid bcp47 language-region combination from code: {}", theCode);
|
||||
return buildNotFoundLookupCodeResult(theCode);
|
||||
} else {
|
||||
return buildLookupResultForLanguageAndRegion(theCode, language, region);
|
||||
}
|
||||
} else {
|
||||
// In case user has only provided a language, we build the lookup from only that.
|
||||
// NB: we only use the lowercase version of the language
|
||||
language = myLanguagesLanugageMap.get(theCode.toLowerCase());
|
||||
if (language == null) {
|
||||
String language = myLanguagesLanugageMap.get(theCode.toLowerCase());
|
||||
found = language != null;
|
||||
display = language;
|
||||
if (!found) {
|
||||
ourLog.warn("Couldn't find a valid bcp47 language from code: {}", theCode);
|
||||
return buildNotFoundLookupCodeResult(theCode);
|
||||
} else {
|
||||
return buildLookupResultForLanguage(theCode, language);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private LookupCodeResult buildLookupResultForLanguageAndRegion(
|
||||
@Nonnull String theOriginalCode, @Nonnull String theLanguage, @Nonnull String theRegion) {
|
||||
LookupCodeResult lookupCodeResult = buildNotFoundLookupCodeResult(theOriginalCode);
|
||||
lookupCodeResult.setCodeDisplay(theLanguage + " " + theRegion);
|
||||
lookupCodeResult.setFound(true);
|
||||
return lookupCodeResult;
|
||||
}
|
||||
lookupCodeResult.setFound(found);
|
||||
lookupCodeResult.setCodeDisplay(display);
|
||||
|
||||
private LookupCodeResult buildLookupResultForLanguage(
|
||||
@Nonnull String theOriginalCode, @Nonnull String theLanguage) {
|
||||
LookupCodeResult lookupCodeResult = buildNotFoundLookupCodeResult(theOriginalCode);
|
||||
lookupCodeResult.setCodeDisplay(theLanguage);
|
||||
lookupCodeResult.setFound(true);
|
||||
return lookupCodeResult;
|
||||
}
|
||||
|
||||
private LookupCodeResult buildNotFoundLookupCodeResult(@Nonnull String theOriginalCode) {
|
||||
LookupCodeResult lookupCodeResult = new LookupCodeResult();
|
||||
lookupCodeResult.setFound(false);
|
||||
lookupCodeResult.setSearchedForSystem(LANGUAGES_CODESYSTEM_URL);
|
||||
lookupCodeResult.setSearchedForCode(theOriginalCode);
|
||||
return lookupCodeResult;
|
||||
}
|
||||
|
||||
|
@ -392,14 +370,39 @@ public class CommonCodeSystemsTerminologyService implements IValidationSupport {
|
|||
theLanguagesMap.put(language, description);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
private LookupCodeResult lookupMimetypeCode(String theCode) {
|
||||
// This is a pretty naive implementation - Should be enhanced in future
|
||||
LookupCodeResult mimeRetVal = new LookupCodeResult();
|
||||
mimeRetVal.setSearchedForCode(theCode);
|
||||
mimeRetVal.setSearchedForSystem(MIMETYPES_CODESYSTEM_URL);
|
||||
mimeRetVal.setFound(true);
|
||||
return mimeRetVal;
|
||||
private static Map<String, String> buildMimetypeCodes() {
|
||||
ourLog.info("Loading the IANA mimetypes into CodeSystem " + MIMETYPES_CODESYSTEM_URL);
|
||||
|
||||
final String configPath = "/org/hl7/fhir/common/hapi/validation/support/mimetype/";
|
||||
final Map<String, String> mediaTypeMap = new HashMap<>();
|
||||
|
||||
for (String configFile : ClasspathUtil.getFilesFromDirectory(configPath)) {
|
||||
String input = ClasspathUtil.loadResource(configFile);
|
||||
JsonNode jsonNode;
|
||||
try {
|
||||
jsonNode = new ObjectMapper().readTree(input);
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new ConfigurationException(Msg.code(2480) + e);
|
||||
}
|
||||
|
||||
for (JsonNode mediaTypeNode : jsonNode) {
|
||||
String template = mediaTypeNode.get("Template").asText();
|
||||
String name = mediaTypeNode.get("Name").asText();
|
||||
mediaTypeMap.put(template, name);
|
||||
}
|
||||
}
|
||||
|
||||
// include additional variants supported by HAPI FHIR server
|
||||
for (EncodingEnum encodingEnum : EncodingEnum.values()) {
|
||||
mediaTypeMap.put(encodingEnum.getFormatContentType(), encodingEnum.getFormatContentType());
|
||||
mediaTypeMap.put(encodingEnum.getResourceContentType(), encodingEnum.getFormatContentType());
|
||||
mediaTypeMap.put(encodingEnum.getResourceContentTypeNonLegacy(), encodingEnum.getFormatContentType());
|
||||
}
|
||||
mediaTypeMap.put(Constants.CT_TEXT, "txt");
|
||||
|
||||
ourLog.info("Loaded {} mimetypes", mediaTypeMap.size());
|
||||
|
||||
return mediaTypeMap;
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
|
@ -437,6 +440,12 @@ public class CommonCodeSystemsTerminologyService implements IValidationSupport {
|
|||
case CURRENCIES_CODESYSTEM_URL:
|
||||
map = ISO_4217_CODES;
|
||||
break;
|
||||
case USPS_CODESYSTEM_URL:
|
||||
map = USPS_CODES;
|
||||
break;
|
||||
case MIMETYPES_CODESYSTEM_URL:
|
||||
map = MIMETYPE_CODES;
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
@ -1373,4 +1382,13 @@ public class CommonCodeSystemsTerminologyService implements IValidationSupport {
|
|||
codes.put("ZWE", "Zimbabwe");
|
||||
return codes;
|
||||
}
|
||||
|
||||
protected String getErrorMessage(String errorCode, String param0, String param1) {
|
||||
return myFhirContext.getLocalizer().getMessage(getClass(), errorCode, param0, param1);
|
||||
}
|
||||
|
||||
protected CodeValidationResult getValidateCodeResultInError(String errorCode, String param0, String param1) {
|
||||
String message = myFhirContext.getLocalizer().getMessage(getClass(), errorCode, param0, param1);
|
||||
return new CodeValidationResult().setSeverity(IssueSeverity.ERROR).setMessage(message);
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,797 @@
|
|||
[
|
||||
{
|
||||
"Name": "1d-interleaved-parityfec",
|
||||
"Template": "audio/1d-interleaved-parityfec",
|
||||
"Reference": "[RFC6015]"
|
||||
},
|
||||
{
|
||||
"Name": "32kadpcm",
|
||||
"Template": "audio/32kadpcm",
|
||||
"Reference": "[RFC3802][RFC2421]"
|
||||
},
|
||||
{
|
||||
"Name": "3gpp",
|
||||
"Template": "audio/3gpp",
|
||||
"Reference": "[RFC3839][RFC6381]"
|
||||
},
|
||||
{
|
||||
"Name": "3gpp2",
|
||||
"Template": "audio/3gpp2",
|
||||
"Reference": "[RFC4393][RFC6381]"
|
||||
},
|
||||
{
|
||||
"Name": "aac",
|
||||
"Template": "audio/aac",
|
||||
"Reference": "[ISO-IEC_JTC_1][Max_Neuendorf]"
|
||||
},
|
||||
{
|
||||
"Name": "ac3",
|
||||
"Template": "audio/ac3",
|
||||
"Reference": "[RFC4184]"
|
||||
},
|
||||
{
|
||||
"Name": "AMR",
|
||||
"Template": "audio/AMR",
|
||||
"Reference": "[RFC4867]"
|
||||
},
|
||||
{
|
||||
"Name": "AMR-WB",
|
||||
"Template": "audio/AMR-WB",
|
||||
"Reference": "[RFC4867]"
|
||||
},
|
||||
{
|
||||
"Name": "amr-wb+",
|
||||
"Template": "audio/amr-wb+",
|
||||
"Reference": "[RFC4352]"
|
||||
},
|
||||
{
|
||||
"Name": "aptx",
|
||||
"Template": "audio/aptx",
|
||||
"Reference": "[RFC7310]"
|
||||
},
|
||||
{
|
||||
"Name": "asc",
|
||||
"Template": "audio/asc",
|
||||
"Reference": "[RFC6295]"
|
||||
},
|
||||
{
|
||||
"Name": "ATRAC-ADVANCED-LOSSLESS",
|
||||
"Template": "audio/ATRAC-ADVANCED-LOSSLESS",
|
||||
"Reference": "[RFC5584]"
|
||||
},
|
||||
{
|
||||
"Name": "ATRAC-X",
|
||||
"Template": "audio/ATRAC-X",
|
||||
"Reference": "[RFC5584]"
|
||||
},
|
||||
{
|
||||
"Name": "ATRAC3",
|
||||
"Template": "audio/ATRAC3",
|
||||
"Reference": "[RFC5584]"
|
||||
},
|
||||
{
|
||||
"Name": "basic",
|
||||
"Template": "audio/basic",
|
||||
"Reference": "[RFC2045][RFC2046]"
|
||||
},
|
||||
{
|
||||
"Name": "BV16",
|
||||
"Template": "audio/BV16",
|
||||
"Reference": "[RFC4298]"
|
||||
},
|
||||
{
|
||||
"Name": "BV32",
|
||||
"Template": "audio/BV32",
|
||||
"Reference": "[RFC4298]"
|
||||
},
|
||||
{
|
||||
"Name": "clearmode",
|
||||
"Template": "audio/clearmode",
|
||||
"Reference": "[RFC4040]"
|
||||
},
|
||||
{
|
||||
"Name": "CN",
|
||||
"Template": "audio/CN",
|
||||
"Reference": "[RFC3389]"
|
||||
},
|
||||
{
|
||||
"Name": "DAT12",
|
||||
"Template": "audio/DAT12",
|
||||
"Reference": "[RFC3190]"
|
||||
},
|
||||
{
|
||||
"Name": "dls",
|
||||
"Template": "audio/dls",
|
||||
"Reference": "[RFC4613]"
|
||||
},
|
||||
{
|
||||
"Name": "dsr-es201108",
|
||||
"Template": "audio/dsr-es201108",
|
||||
"Reference": "[RFC3557]"
|
||||
},
|
||||
{
|
||||
"Name": "dsr-es202050",
|
||||
"Template": "audio/dsr-es202050",
|
||||
"Reference": "[RFC4060]"
|
||||
},
|
||||
{
|
||||
"Name": "dsr-es202211",
|
||||
"Template": "audio/dsr-es202211",
|
||||
"Reference": "[RFC4060]"
|
||||
},
|
||||
{
|
||||
"Name": "dsr-es202212",
|
||||
"Template": "audio/dsr-es202212",
|
||||
"Reference": "[RFC4060]"
|
||||
},
|
||||
{
|
||||
"Name": "DV",
|
||||
"Template": "audio/DV",
|
||||
"Reference": "[RFC6469]"
|
||||
},
|
||||
{
|
||||
"Name": "DVI4",
|
||||
"Template": "audio/DVI4",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "eac3",
|
||||
"Template": "audio/eac3",
|
||||
"Reference": "[RFC4598]"
|
||||
},
|
||||
{
|
||||
"Name": "encaprtp",
|
||||
"Template": "audio/encaprtp",
|
||||
"Reference": "[RFC6849]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRC",
|
||||
"Template": "audio/EVRC",
|
||||
"Reference": "[RFC4788]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRC-QCP",
|
||||
"Template": "audio/EVRC-QCP",
|
||||
"Reference": "[RFC3625]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRC0",
|
||||
"Template": "audio/EVRC0",
|
||||
"Reference": "[RFC4788]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRC1",
|
||||
"Template": "audio/EVRC1",
|
||||
"Reference": "[RFC4788]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRCB",
|
||||
"Template": "audio/EVRCB",
|
||||
"Reference": "[RFC5188]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRCB0",
|
||||
"Template": "audio/EVRCB0",
|
||||
"Reference": "[RFC5188]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRCB1",
|
||||
"Template": "audio/EVRCB1",
|
||||
"Reference": "[RFC4788]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRCNW",
|
||||
"Template": "audio/EVRCNW",
|
||||
"Reference": "[RFC6884]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRCNW0",
|
||||
"Template": "audio/EVRCNW0",
|
||||
"Reference": "[RFC6884]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRCNW1",
|
||||
"Template": "audio/EVRCNW1",
|
||||
"Reference": "[RFC6884]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRCWB",
|
||||
"Template": "audio/EVRCWB",
|
||||
"Reference": "[RFC5188]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRCWB0",
|
||||
"Template": "audio/EVRCWB0",
|
||||
"Reference": "[RFC5188]"
|
||||
},
|
||||
{
|
||||
"Name": "EVRCWB1",
|
||||
"Template": "audio/EVRCWB1",
|
||||
"Reference": "[RFC5188]"
|
||||
},
|
||||
{
|
||||
"Name": "EVS",
|
||||
"Template": "audio/EVS",
|
||||
"Reference": "[_3GPP][Kyunghun_Jung]"
|
||||
},
|
||||
{
|
||||
"Name": "example",
|
||||
"Template": "audio/example",
|
||||
"Reference": "[RFC4735]"
|
||||
},
|
||||
{
|
||||
"Name": "flexfec",
|
||||
"Template": "audio/flexfec",
|
||||
"Reference": "[RFC8627]"
|
||||
},
|
||||
{
|
||||
"Name": "fwdred",
|
||||
"Template": "audio/fwdred",
|
||||
"Reference": "[RFC6354]"
|
||||
},
|
||||
{
|
||||
"Name": "G711-0",
|
||||
"Template": "audio/G711-0",
|
||||
"Reference": "[RFC7655]"
|
||||
},
|
||||
{
|
||||
"Name": "G719",
|
||||
"Template": "audio/G719",
|
||||
"Reference": "[RFC5404][RFC Errata 3245]"
|
||||
},
|
||||
{
|
||||
"Name": "G7221",
|
||||
"Template": "audio/G7221",
|
||||
"Reference": "[RFC5577]"
|
||||
},
|
||||
{
|
||||
"Name": "G722",
|
||||
"Template": "audio/G722",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "G723",
|
||||
"Template": "audio/G723",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "G726-16",
|
||||
"Template": "audio/G726-16",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "G726-24",
|
||||
"Template": "audio/G726-24",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "G726-32",
|
||||
"Template": "audio/G726-32",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "G726-40",
|
||||
"Template": "audio/G726-40",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "G728",
|
||||
"Template": "audio/G728",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "G729",
|
||||
"Template": "audio/G729",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "G7291",
|
||||
"Template": "audio/G7291",
|
||||
"Reference": "[RFC4749][RFC5459]"
|
||||
},
|
||||
{
|
||||
"Name": "G729D",
|
||||
"Template": "audio/G729D",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "G729E",
|
||||
"Template": "audio/G729E",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "GSM",
|
||||
"Template": "audio/GSM",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "GSM-EFR",
|
||||
"Template": "audio/GSM-EFR",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "GSM-HR-08",
|
||||
"Template": "audio/GSM-HR-08",
|
||||
"Reference": "[RFC5993]"
|
||||
},
|
||||
{
|
||||
"Name": "iLBC",
|
||||
"Template": "audio/iLBC",
|
||||
"Reference": "[RFC3952]"
|
||||
},
|
||||
{
|
||||
"Name": "ip-mr_v2.5",
|
||||
"Template": "audio/ip-mr_v2.5",
|
||||
"Reference": "[RFC6262]"
|
||||
},
|
||||
{
|
||||
"Name": "L8",
|
||||
"Template": "audio/L8",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "L16",
|
||||
"Template": "audio/L16",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "L20",
|
||||
"Template": "audio/L20",
|
||||
"Reference": "[RFC3190]"
|
||||
},
|
||||
{
|
||||
"Name": "L24",
|
||||
"Template": "audio/L24",
|
||||
"Reference": "[RFC3190]"
|
||||
},
|
||||
{
|
||||
"Name": "LPC",
|
||||
"Template": "audio/LPC",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "matroska",
|
||||
"Template": "audio/matroska",
|
||||
"Reference": "[RFC-ietf-cellar-matroska-21]"
|
||||
},
|
||||
{
|
||||
"Name": "MELP",
|
||||
"Template": "audio/MELP",
|
||||
"Reference": "[RFC8130]"
|
||||
},
|
||||
{
|
||||
"Name": "MELP600",
|
||||
"Template": "audio/MELP600",
|
||||
"Reference": "[RFC8130]"
|
||||
},
|
||||
{
|
||||
"Name": "MELP1200",
|
||||
"Template": "audio/MELP1200",
|
||||
"Reference": "[RFC8130]"
|
||||
},
|
||||
{
|
||||
"Name": "MELP2400",
|
||||
"Template": "audio/MELP2400",
|
||||
"Reference": "[RFC8130]"
|
||||
},
|
||||
{
|
||||
"Name": "mhas",
|
||||
"Template": "audio/mhas",
|
||||
"Reference": "[ISO-IEC_JTC_1][Nils_Peters][Ingo_Hofmann]"
|
||||
},
|
||||
{
|
||||
"Name": "mobile-xmf",
|
||||
"Template": "audio/mobile-xmf",
|
||||
"Reference": "[RFC4723]"
|
||||
},
|
||||
{
|
||||
"Name": "MPA",
|
||||
"Template": "audio/MPA",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "mp4",
|
||||
"Template": "audio/mp4",
|
||||
"Reference": "[RFC4337][RFC6381]"
|
||||
},
|
||||
{
|
||||
"Name": "MP4A-LATM",
|
||||
"Template": "audio/MP4A-LATM",
|
||||
"Reference": "[RFC6416]"
|
||||
},
|
||||
{
|
||||
"Name": "mpa-robust",
|
||||
"Template": "audio/mpa-robust",
|
||||
"Reference": "[RFC5219]"
|
||||
},
|
||||
{
|
||||
"Name": "mpeg",
|
||||
"Template": "audio/mpeg",
|
||||
"Reference": "[RFC3003]"
|
||||
},
|
||||
{
|
||||
"Name": "mpeg4-generic",
|
||||
"Template": "audio/mpeg4-generic",
|
||||
"Reference": "[RFC3640][RFC5691][RFC6295]"
|
||||
},
|
||||
{
|
||||
"Name": "ogg",
|
||||
"Template": "audio/ogg",
|
||||
"Reference": "[RFC5334][RFC7845]"
|
||||
},
|
||||
{
|
||||
"Name": "opus",
|
||||
"Template": "audio/opus",
|
||||
"Reference": "[RFC7587]"
|
||||
},
|
||||
{
|
||||
"Name": "parityfec",
|
||||
"Template": "audio/parityfec",
|
||||
"Reference": "[RFC3009]"
|
||||
},
|
||||
{
|
||||
"Name": "PCMA",
|
||||
"Template": "audio/PCMA",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "PCMA-WB",
|
||||
"Template": "audio/PCMA-WB",
|
||||
"Reference": "[RFC5391]"
|
||||
},
|
||||
{
|
||||
"Name": "PCMU",
|
||||
"Template": "audio/PCMU",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "PCMU-WB",
|
||||
"Template": "audio/PCMU-WB",
|
||||
"Reference": "[RFC5391]"
|
||||
},
|
||||
{
|
||||
"Name": "prs.sid",
|
||||
"Template": "audio/prs.sid",
|
||||
"Reference": "[Linus_Walleij]"
|
||||
},
|
||||
{
|
||||
"Name": "QCELP",
|
||||
"Template": "audio/QCELP",
|
||||
"Reference": "[RFC3555][RFC3625]"
|
||||
},
|
||||
{
|
||||
"Name": "raptorfec",
|
||||
"Template": "audio/raptorfec",
|
||||
"Reference": "[RFC6682]"
|
||||
},
|
||||
{
|
||||
"Name": "RED",
|
||||
"Template": "audio/RED",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "rtp-enc-aescm128",
|
||||
"Template": "audio/rtp-enc-aescm128",
|
||||
"Reference": "[_3GPP]"
|
||||
},
|
||||
{
|
||||
"Name": "rtploopback",
|
||||
"Template": "audio/rtploopback",
|
||||
"Reference": "[RFC6849]"
|
||||
},
|
||||
{
|
||||
"Name": "rtp-midi",
|
||||
"Template": "audio/rtp-midi",
|
||||
"Reference": "[RFC6295]"
|
||||
},
|
||||
{
|
||||
"Name": "rtx",
|
||||
"Template": "audio/rtx",
|
||||
"Reference": "[RFC4588]"
|
||||
},
|
||||
{
|
||||
"Name": "scip",
|
||||
"Template": "audio/scip",
|
||||
"Reference": "[SCIP][Michael_Faller][Daniel_Hanson]"
|
||||
},
|
||||
{
|
||||
"Name": "SMV",
|
||||
"Template": "audio/SMV",
|
||||
"Reference": "[RFC3558]"
|
||||
},
|
||||
{
|
||||
"Name": "SMV0",
|
||||
"Template": "audio/SMV0",
|
||||
"Reference": "[RFC3558]"
|
||||
},
|
||||
{
|
||||
"Name": "SMV-QCP",
|
||||
"Template": "audio/SMV-QCP",
|
||||
"Reference": "[RFC3625]"
|
||||
},
|
||||
{
|
||||
"Name": "sofa",
|
||||
"Template": "audio/sofa",
|
||||
"Reference": "[AES][Piotr_Majdak]"
|
||||
},
|
||||
{
|
||||
"Name": "sp-midi",
|
||||
"Template": "audio/sp-midi",
|
||||
"Reference": "[Athan_Billias][MIDI_Association]"
|
||||
},
|
||||
{
|
||||
"Name": "speex",
|
||||
"Template": "audio/speex",
|
||||
"Reference": "[RFC5574]"
|
||||
},
|
||||
{
|
||||
"Name": "t140c",
|
||||
"Template": "audio/t140c",
|
||||
"Reference": "[RFC4351]"
|
||||
},
|
||||
{
|
||||
"Name": "t38",
|
||||
"Template": "audio/t38",
|
||||
"Reference": "[RFC4612]"
|
||||
},
|
||||
{
|
||||
"Name": "telephone-event",
|
||||
"Template": "audio/telephone-event",
|
||||
"Reference": "[RFC4733]"
|
||||
},
|
||||
{
|
||||
"Name": "TETRA_ACELP",
|
||||
"Template": "audio/TETRA_ACELP",
|
||||
"Reference": "[ETSI][Miguel_Angel_Reina_Ortega]"
|
||||
},
|
||||
{
|
||||
"Name": "TETRA_ACELP_BB",
|
||||
"Template": "audio/TETRA_ACELP_BB",
|
||||
"Reference": "[ETSI][Miguel_Angel_Reina_Ortega]"
|
||||
},
|
||||
{
|
||||
"Name": "tone",
|
||||
"Template": "audio/tone",
|
||||
"Reference": "[RFC4733]"
|
||||
},
|
||||
{
|
||||
"Name": "TSVCIS",
|
||||
"Template": "audio/TSVCIS",
|
||||
"Reference": "[RFC8817]"
|
||||
},
|
||||
{
|
||||
"Name": "UEMCLIP",
|
||||
"Template": "audio/UEMCLIP",
|
||||
"Reference": "[RFC5686]"
|
||||
},
|
||||
{
|
||||
"Name": "ulpfec",
|
||||
"Template": "audio/ulpfec",
|
||||
"Reference": "[RFC5109]"
|
||||
},
|
||||
{
|
||||
"Name": "usac",
|
||||
"Template": "audio/usac",
|
||||
"Reference": "[ISO-IEC_JTC_1][Max_Neuendorf]"
|
||||
},
|
||||
{
|
||||
"Name": "VDVI",
|
||||
"Template": "audio/VDVI",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "VMR-WB",
|
||||
"Template": "audio/VMR-WB",
|
||||
"Reference": "[RFC4348][RFC4424]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.3gpp.iufp",
|
||||
"Template": "audio/vnd.3gpp.iufp",
|
||||
"Reference": "[Thomas_Belling]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.4SB",
|
||||
"Template": "audio/vnd.4SB",
|
||||
"Reference": "[Serge_De_Jaham]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.audiokoz",
|
||||
"Template": "audio/vnd.audiokoz",
|
||||
"Reference": "[Vicki_DeBarros]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.CELP",
|
||||
"Template": "audio/vnd.CELP",
|
||||
"Reference": "[Serge_De_Jaham]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.cisco.nse",
|
||||
"Template": "audio/vnd.cisco.nse",
|
||||
"Reference": "[Rajesh_Kumar]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.cmles.radio-events",
|
||||
"Template": "audio/vnd.cmles.radio-events",
|
||||
"Reference": "[Jean-Philippe_Goulet]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.cns.anp1",
|
||||
"Template": "audio/vnd.cns.anp1",
|
||||
"Reference": "[Ann_McLaughlin]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.cns.inf1",
|
||||
"Template": "audio/vnd.cns.inf1",
|
||||
"Reference": "[Ann_McLaughlin]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dece.audio",
|
||||
"Template": "audio/vnd.dece.audio",
|
||||
"Reference": "[Michael_A_Dolan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.digital-winds",
|
||||
"Template": "audio/vnd.digital-winds",
|
||||
"Reference": "[Armands_Strazds]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dlna.adts",
|
||||
"Template": "audio/vnd.dlna.adts",
|
||||
"Reference": "[Edwin_Heredia]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dolby.heaac.1",
|
||||
"Template": "audio/vnd.dolby.heaac.1",
|
||||
"Reference": "[Steve_Hattersley]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dolby.heaac.2",
|
||||
"Template": "audio/vnd.dolby.heaac.2",
|
||||
"Reference": "[Steve_Hattersley]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dolby.mlp",
|
||||
"Template": "audio/vnd.dolby.mlp",
|
||||
"Reference": "[Mike_Ward]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dolby.mps",
|
||||
"Template": "audio/vnd.dolby.mps",
|
||||
"Reference": "[Steve_Hattersley]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dolby.pl2",
|
||||
"Template": "audio/vnd.dolby.pl2",
|
||||
"Reference": "[Steve_Hattersley]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dolby.pl2x",
|
||||
"Template": "audio/vnd.dolby.pl2x",
|
||||
"Reference": "[Steve_Hattersley]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dolby.pl2z",
|
||||
"Template": "audio/vnd.dolby.pl2z",
|
||||
"Reference": "[Steve_Hattersley]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dolby.pulse.1",
|
||||
"Template": "audio/vnd.dolby.pulse.1",
|
||||
"Reference": "[Steve_Hattersley]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dra",
|
||||
"Template": "audio/vnd.dra",
|
||||
"Reference": "[Jiang_Tian]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dts",
|
||||
"Template": "audio/vnd.dts",
|
||||
"Reference": "[William_Zou]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dts.hd",
|
||||
"Template": "audio/vnd.dts.hd",
|
||||
"Reference": "[William_Zou]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dts.uhd",
|
||||
"Template": "audio/vnd.dts.uhd",
|
||||
"Reference": "[Phillip_Maness]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dvb.file",
|
||||
"Template": "audio/vnd.dvb.file",
|
||||
"Reference": "[Peter_Siebert]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.everad.plj",
|
||||
"Template": "audio/vnd.everad.plj",
|
||||
"Reference": "[Shay_Cicelsky]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.hns.audio",
|
||||
"Template": "audio/vnd.hns.audio",
|
||||
"Reference": "[Swaminathan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.lucent.voice",
|
||||
"Template": "audio/vnd.lucent.voice",
|
||||
"Reference": "[Greg_Vaudreuil]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.ms-playready.media.pya",
|
||||
"Template": "audio/vnd.ms-playready.media.pya",
|
||||
"Reference": "[Steve_DiAcetis]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.nokia.mobile-xmf",
|
||||
"Template": "audio/vnd.nokia.mobile-xmf",
|
||||
"Reference": "[Nokia]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.nortel.vbk",
|
||||
"Template": "audio/vnd.nortel.vbk",
|
||||
"Reference": "[Glenn_Parsons]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.nuera.ecelp4800",
|
||||
"Template": "audio/vnd.nuera.ecelp4800",
|
||||
"Reference": "[Michael_Fox]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.nuera.ecelp7470",
|
||||
"Template": "audio/vnd.nuera.ecelp7470",
|
||||
"Reference": "[Michael_Fox]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.nuera.ecelp9600",
|
||||
"Template": "audio/vnd.nuera.ecelp9600",
|
||||
"Reference": "[Michael_Fox]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.octel.sbc",
|
||||
"Template": "audio/vnd.octel.sbc",
|
||||
"Reference": "[Greg_Vaudreuil]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.presonus.multitrack",
|
||||
"Template": "audio/vnd.presonus.multitrack",
|
||||
"Reference": "[Matthias_Juwan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.qcelp - DEPRECATED in favor of audio/qcelp",
|
||||
"Template": "audio/vnd.qcelp",
|
||||
"Reference": "[RFC3625]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.rhetorex.32kadpcm",
|
||||
"Template": "audio/vnd.rhetorex.32kadpcm",
|
||||
"Reference": "[Greg_Vaudreuil]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.rip",
|
||||
"Template": "audio/vnd.rip",
|
||||
"Reference": "[Martin_Dawe]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sealedmedia.softseal.mpeg",
|
||||
"Template": "audio/vnd.sealedmedia.softseal.mpeg",
|
||||
"Reference": "[David_Petersen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.vmx.cvsd",
|
||||
"Template": "audio/vnd.vmx.cvsd",
|
||||
"Reference": "[Greg_Vaudreuil]"
|
||||
},
|
||||
{
|
||||
"Name": "vorbis",
|
||||
"Template": "audio/vorbis",
|
||||
"Reference": "[RFC5215]"
|
||||
},
|
||||
{
|
||||
"Name": "vorbis-config",
|
||||
"Template": "audio/vorbis-config",
|
||||
"Reference": "[RFC5215]"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,32 @@
|
|||
[
|
||||
{
|
||||
"Name": "collection",
|
||||
"Template": "font/collection",
|
||||
"Reference": "[RFC8081]"
|
||||
},
|
||||
{
|
||||
"Name": "otf",
|
||||
"Template": "font/otf",
|
||||
"Reference": "[RFC8081]"
|
||||
},
|
||||
{
|
||||
"Name": "sfnt",
|
||||
"Template": "font/sfnt",
|
||||
"Reference": "[RFC8081]"
|
||||
},
|
||||
{
|
||||
"Name": "ttf",
|
||||
"Template": "font/ttf",
|
||||
"Reference": "[RFC8081]"
|
||||
},
|
||||
{
|
||||
"Name": "woff",
|
||||
"Template": "font/woff",
|
||||
"Reference": "[RFC8081]"
|
||||
},
|
||||
{
|
||||
"Name": "woff2",
|
||||
"Template": "font/woff2",
|
||||
"Reference": "[RFC8081]"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,407 @@
|
|||
[
|
||||
{
|
||||
"Name": "aces",
|
||||
"Template": "image/aces",
|
||||
"Reference": "[SMPTE][Howard_Lukk]"
|
||||
},
|
||||
{
|
||||
"Name": "apng",
|
||||
"Template": "image/apng",
|
||||
"Reference": "[W3C][W3C_PNG_Working_Group]"
|
||||
},
|
||||
{
|
||||
"Name": "avci",
|
||||
"Template": "image/avci",
|
||||
"Reference": "[ISO-IEC_JTC_1][David_Singer]"
|
||||
},
|
||||
{
|
||||
"Name": "avcs",
|
||||
"Template": "image/avcs",
|
||||
"Reference": "[ISO-IEC_JTC_1][David_Singer]"
|
||||
},
|
||||
{
|
||||
"Name": "avif",
|
||||
"Template": "image/avif",
|
||||
"Reference": "[Alliance_for_Open_Media][Cyril_Concolato]"
|
||||
},
|
||||
{
|
||||
"Name": "bmp",
|
||||
"Template": "image/bmp",
|
||||
"Reference": "[RFC7903]"
|
||||
},
|
||||
{
|
||||
"Name": "cgm",
|
||||
"Template": "image/cgm",
|
||||
"Reference": "[Alan_Francis]"
|
||||
},
|
||||
{
|
||||
"Name": "dicom-rle",
|
||||
"Template": "image/dicom-rle",
|
||||
"Reference": "[DICOM_Standard_Committee][David_Clunie]"
|
||||
},
|
||||
{
|
||||
"Name": "dpx",
|
||||
"Template": "image/dpx",
|
||||
"Reference": "[SMPTE][SMPTE_Director_of_Standards_Development]"
|
||||
},
|
||||
{
|
||||
"Name": "emf",
|
||||
"Template": "image/emf",
|
||||
"Reference": "[RFC7903]"
|
||||
},
|
||||
{
|
||||
"Name": "example",
|
||||
"Template": "image/example",
|
||||
"Reference": "[RFC4735]"
|
||||
},
|
||||
{
|
||||
"Name": "fits",
|
||||
"Template": "image/fits",
|
||||
"Reference": "[RFC4047]"
|
||||
},
|
||||
{
|
||||
"Name": "g3fax",
|
||||
"Template": "image/g3fax",
|
||||
"Reference": "[RFC1494]"
|
||||
},
|
||||
{
|
||||
"Name": "gif",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2045][RFC2046]"
|
||||
},
|
||||
{
|
||||
"Name": "heic",
|
||||
"Template": "image/heic",
|
||||
"Reference": "[ISO-IEC_JTC_1][David_Singer]"
|
||||
},
|
||||
{
|
||||
"Name": "heic-sequence",
|
||||
"Template": "image/heic-sequence",
|
||||
"Reference": "[ISO-IEC_JTC_1][David_Singer]"
|
||||
},
|
||||
{
|
||||
"Name": "heif",
|
||||
"Template": "image/heif",
|
||||
"Reference": "[ISO-IEC_JTC_1][David_Singer]"
|
||||
},
|
||||
{
|
||||
"Name": "heif-sequence",
|
||||
"Template": "image/heif-sequence",
|
||||
"Reference": "[ISO-IEC_JTC_1][David_Singer]"
|
||||
},
|
||||
{
|
||||
"Name": "hej2k",
|
||||
"Template": "image/hej2k",
|
||||
"Reference": "[ISO-IEC_JTC_1][ITU-T]"
|
||||
},
|
||||
{
|
||||
"Name": "hsj2",
|
||||
"Template": "image/hsj2",
|
||||
"Reference": "[ISO-IEC_JTC_1][ITU-T]"
|
||||
},
|
||||
{
|
||||
"Name": "ief",
|
||||
"Template": "",
|
||||
"Reference": "[RFC1314]"
|
||||
},
|
||||
{
|
||||
"Name": "j2c",
|
||||
"Template": "image/j2c",
|
||||
"Reference": "[ISO-IEC_JTC_1_SC_29_WG_1][ISO-IEC_JTC_1][ITU-T]"
|
||||
},
|
||||
{
|
||||
"Name": "jls",
|
||||
"Template": "image/jls",
|
||||
"Reference": "[DICOM_Standard_Committee][David_Clunie]"
|
||||
},
|
||||
{
|
||||
"Name": "jp2",
|
||||
"Template": "image/jp2",
|
||||
"Reference": "[RFC3745]"
|
||||
},
|
||||
{
|
||||
"Name": "jpeg",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2045][RFC2046]"
|
||||
},
|
||||
{
|
||||
"Name": "jph",
|
||||
"Template": "image/jph",
|
||||
"Reference": "[ISO-IEC_JTC_1][ITU-T]"
|
||||
},
|
||||
{
|
||||
"Name": "jphc",
|
||||
"Template": "image/jphc",
|
||||
"Reference": "[ISO-IEC_JTC_1][ITU-T]"
|
||||
},
|
||||
{
|
||||
"Name": "jpm",
|
||||
"Template": "image/jpm",
|
||||
"Reference": "[RFC3745]"
|
||||
},
|
||||
{
|
||||
"Name": "jpx",
|
||||
"Template": "image/jpx",
|
||||
"Reference": "[RFC3745]"
|
||||
},
|
||||
{
|
||||
"Name": "jxr",
|
||||
"Template": "image/jxr",
|
||||
"Reference": "[ISO-IEC_JTC_1][ITU-T]"
|
||||
},
|
||||
{
|
||||
"Name": "jxrA",
|
||||
"Template": "image/jxrA",
|
||||
"Reference": "[ISO-IEC_JTC_1][ITU-T]"
|
||||
},
|
||||
{
|
||||
"Name": "jxrS",
|
||||
"Template": "image/jxrS",
|
||||
"Reference": "[ISO-IEC_JTC_1][ITU-T]"
|
||||
},
|
||||
{
|
||||
"Name": "jxs",
|
||||
"Template": "image/jxs",
|
||||
"Reference": "[ISO-IEC_JTC_1]"
|
||||
},
|
||||
{
|
||||
"Name": "jxsc",
|
||||
"Template": "image/jxsc",
|
||||
"Reference": "[ISO-IEC_JTC_1]"
|
||||
},
|
||||
{
|
||||
"Name": "jxsi",
|
||||
"Template": "image/jxsi",
|
||||
"Reference": "[ISO-IEC_JTC_1]"
|
||||
},
|
||||
{
|
||||
"Name": "jxss",
|
||||
"Template": "image/jxss",
|
||||
"Reference": "[ISO-IEC_JTC_1]"
|
||||
},
|
||||
{
|
||||
"Name": "ktx",
|
||||
"Template": "image/ktx",
|
||||
"Reference": "[Khronos][Mark_Callow]"
|
||||
},
|
||||
{
|
||||
"Name": "ktx2",
|
||||
"Template": "image/ktx2",
|
||||
"Reference": "[Khronos][Mark_Callow]"
|
||||
},
|
||||
{
|
||||
"Name": "naplps",
|
||||
"Template": "image/naplps",
|
||||
"Reference": "[Ilya_Ferber]"
|
||||
},
|
||||
{
|
||||
"Name": "png",
|
||||
"Template": "image/png",
|
||||
"Reference": "[W3C][PNG_Working_Group]"
|
||||
},
|
||||
{
|
||||
"Name": "prs.btif",
|
||||
"Template": "image/prs.btif",
|
||||
"Reference": "[Ben_Simon]"
|
||||
},
|
||||
{
|
||||
"Name": "prs.pti",
|
||||
"Template": "image/prs.pti",
|
||||
"Reference": "[Juern_Laun]"
|
||||
},
|
||||
{
|
||||
"Name": "pwg-raster",
|
||||
"Template": "image/pwg-raster",
|
||||
"Reference": "[Michael_Sweet]"
|
||||
},
|
||||
{
|
||||
"Name": "svg+xml",
|
||||
"Template": "image/svg+xml",
|
||||
"Reference": "[W3C][http://www.w3.org/TR/SVG/mimereg.html]"
|
||||
},
|
||||
{
|
||||
"Name": "t38",
|
||||
"Template": "image/t38",
|
||||
"Reference": "[RFC3362]"
|
||||
},
|
||||
{
|
||||
"Name": "tiff",
|
||||
"Template": "image/tiff",
|
||||
"Reference": "[RFC3302]"
|
||||
},
|
||||
{
|
||||
"Name": "tiff-fx",
|
||||
"Template": "image/tiff-fx",
|
||||
"Reference": "[RFC3950]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.adobe.photoshop",
|
||||
"Template": "image/vnd.adobe.photoshop",
|
||||
"Reference": "[Kim_Scarborough]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.airzip.accelerator.azv",
|
||||
"Template": "image/vnd.airzip.accelerator.azv",
|
||||
"Reference": "[Gary_Clueit]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.cns.inf2",
|
||||
"Template": "image/vnd.cns.inf2",
|
||||
"Reference": "[Ann_McLaughlin]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dece.graphic",
|
||||
"Template": "image/vnd.dece.graphic",
|
||||
"Reference": "[Michael_A_Dolan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.djvu",
|
||||
"Template": "image/vnd.djvu",
|
||||
"Reference": "[Leon_Bottou]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dwg",
|
||||
"Template": "image/vnd.dwg",
|
||||
"Reference": "[Jodi_Moline]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dxf",
|
||||
"Template": "image/vnd.dxf",
|
||||
"Reference": "[Jodi_Moline]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dvb.subtitle",
|
||||
"Template": "image/vnd.dvb.subtitle",
|
||||
"Reference": "[Peter_Siebert][Michael_Lagally]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.fastbidsheet",
|
||||
"Template": "image/vnd.fastbidsheet",
|
||||
"Reference": "[Scott_Becker]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.fpx",
|
||||
"Template": "image/vnd.fpx",
|
||||
"Reference": "[Marc_Douglas_Spencer]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.fst",
|
||||
"Template": "image/vnd.fst",
|
||||
"Reference": "[Arild_Fuldseth]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.fujixerox.edmics-mmr",
|
||||
"Template": "image/vnd.fujixerox.edmics-mmr",
|
||||
"Reference": "[Masanori_Onda]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.fujixerox.edmics-rlc",
|
||||
"Template": "image/vnd.fujixerox.edmics-rlc",
|
||||
"Reference": "[Masanori_Onda]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.globalgraphics.pgb",
|
||||
"Template": "image/vnd.globalgraphics.pgb",
|
||||
"Reference": "[Martin_Bailey]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.microsoft.icon",
|
||||
"Template": "image/vnd.microsoft.icon",
|
||||
"Reference": "[Simon_Butcher]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.mix",
|
||||
"Template": "image/vnd.mix",
|
||||
"Reference": "[Saveen_Reddy]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.ms-modi",
|
||||
"Template": "image/vnd.ms-modi",
|
||||
"Reference": "[Gregory_Vaughan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.mozilla.apng",
|
||||
"Template": "image/vnd.mozilla.apng",
|
||||
"Reference": "[Stuart_Parmenter]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.net-fpx",
|
||||
"Template": "image/vnd.net-fpx",
|
||||
"Reference": "[Marc_Douglas_Spencer]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.pco.b16",
|
||||
"Template": "image/vnd.pco.b16",
|
||||
"Reference": "[PCO_AG][Jan_Zeman]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.radiance",
|
||||
"Template": "image/vnd.radiance",
|
||||
"Reference": "[Randolph_Fritz][Greg_Ward]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sealed.png",
|
||||
"Template": "image/vnd.sealed.png",
|
||||
"Reference": "[David_Petersen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sealedmedia.softseal.gif",
|
||||
"Template": "image/vnd.sealedmedia.softseal.gif",
|
||||
"Reference": "[David_Petersen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sealedmedia.softseal.jpg",
|
||||
"Template": "image/vnd.sealedmedia.softseal.jpg",
|
||||
"Reference": "[David_Petersen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.svf",
|
||||
"Template": "image/vnd.svf",
|
||||
"Reference": "[Jodi_Moline]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.tencent.tap",
|
||||
"Template": "image/vnd.tencent.tap",
|
||||
"Reference": "[Ni_Hui]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.valve.source.texture",
|
||||
"Template": "image/vnd.valve.source.texture",
|
||||
"Reference": "[Henrik_Andersson]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.wap.wbmp",
|
||||
"Template": "image/vnd.wap.wbmp",
|
||||
"Reference": "[Peter_Stark]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.xiff",
|
||||
"Template": "image/vnd.xiff",
|
||||
"Reference": "[Steven_Martin]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.zbrush.pcx",
|
||||
"Template": "image/vnd.zbrush.pcx",
|
||||
"Reference": "[Chris_Charabaruk]"
|
||||
},
|
||||
{
|
||||
"Name": "webp",
|
||||
"Template": "image/webp",
|
||||
"Reference": "[RFC-zern-webp-12]"
|
||||
},
|
||||
{
|
||||
"Name": "wmf",
|
||||
"Template": "image/wmf",
|
||||
"Reference": "[RFC7903]"
|
||||
},
|
||||
{
|
||||
"Name": "x-emf - DEPRECATED in favor of image/emf",
|
||||
"Template": "image/emf",
|
||||
"Reference": "[RFC7903]"
|
||||
},
|
||||
{
|
||||
"Name": "x-wmf - DEPRECATED in favor of image/wmf",
|
||||
"Template": "image/wmf",
|
||||
"Reference": "[RFC7903]"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,128 @@
|
|||
[
|
||||
{
|
||||
"Name": "bhttp",
|
||||
"Template": "message/bhttp",
|
||||
"Reference": "[RFC9292]"
|
||||
},
|
||||
{
|
||||
"Name": "CPIM",
|
||||
"Template": "message/CPIM",
|
||||
"Reference": "[RFC3862]"
|
||||
},
|
||||
{
|
||||
"Name": "delivery-status",
|
||||
"Template": "message/delivery-status",
|
||||
"Reference": "[RFC1894]"
|
||||
},
|
||||
{
|
||||
"Name": "disposition-notification",
|
||||
"Template": "message/disposition-notification",
|
||||
"Reference": "[RFC8098]"
|
||||
},
|
||||
{
|
||||
"Name": "example",
|
||||
"Template": "message/example",
|
||||
"Reference": "[RFC4735]"
|
||||
},
|
||||
{
|
||||
"Name": "external-body",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2045][RFC2046]"
|
||||
},
|
||||
{
|
||||
"Name": "feedback-report",
|
||||
"Template": "message/feedback-report",
|
||||
"Reference": "[RFC5965]"
|
||||
},
|
||||
{
|
||||
"Name": "global",
|
||||
"Template": "message/global",
|
||||
"Reference": "[RFC6532]"
|
||||
},
|
||||
{
|
||||
"Name": "global-delivery-status",
|
||||
"Template": "message/global-delivery-status",
|
||||
"Reference": "[RFC6533]"
|
||||
},
|
||||
{
|
||||
"Name": "global-disposition-notification",
|
||||
"Template": "message/global-disposition-notification",
|
||||
"Reference": "[RFC6533]"
|
||||
},
|
||||
{
|
||||
"Name": "global-headers",
|
||||
"Template": "message/global-headers",
|
||||
"Reference": "[RFC6533]"
|
||||
},
|
||||
{
|
||||
"Name": "http",
|
||||
"Template": "message/http",
|
||||
"Reference": "[RFC9112]"
|
||||
},
|
||||
{
|
||||
"Name": "imdn+xml",
|
||||
"Template": "message/imdn+xml",
|
||||
"Reference": "[RFC5438]"
|
||||
},
|
||||
{
|
||||
"Name": "mls",
|
||||
"Template": "message/mls",
|
||||
"Reference": "[RFC9420]"
|
||||
},
|
||||
{
|
||||
"Name": "news (OBSOLETED by [RFC5537])",
|
||||
"Template": "message/news",
|
||||
"Reference": "[RFC5537][Henry_Spencer]"
|
||||
},
|
||||
{
|
||||
"Name": "ohttp-req",
|
||||
"Template": "message/ohttp-req",
|
||||
"Reference": "[RFC9458]"
|
||||
},
|
||||
{
|
||||
"Name": "ohttp-res",
|
||||
"Template": "message/ohttp-res",
|
||||
"Reference": "[RFC9458]"
|
||||
},
|
||||
{
|
||||
"Name": "partial",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2045][RFC2046]"
|
||||
},
|
||||
{
|
||||
"Name": "rfc822",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2045][RFC2046]"
|
||||
},
|
||||
{
|
||||
"Name": "s-http (OBSOLETE)",
|
||||
"Template": "message/s-http",
|
||||
"Reference": "[RFC2660][status-change-http-experiments-to-historic]"
|
||||
},
|
||||
{
|
||||
"Name": "sip",
|
||||
"Template": "message/sip",
|
||||
"Reference": "[RFC3261]"
|
||||
},
|
||||
{
|
||||
"Name": "sipfrag",
|
||||
"Template": "message/sipfrag",
|
||||
"Reference": "[RFC3420]"
|
||||
},
|
||||
{
|
||||
"Name": "tracking-status",
|
||||
"Template": "message/tracking-status",
|
||||
"Reference": "[RFC3886]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.si.simp (OBSOLETED by request)",
|
||||
"Template": "message/vnd.si.simp",
|
||||
"Reference": "[Nicholas_Parks_Young]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.wfa.wsc",
|
||||
"Template": "message/vnd.wfa.wsc",
|
||||
"Reference": "[Mick_Conley]"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
[
|
||||
{
|
||||
"Name": "3mf",
|
||||
"Template": "model/3mf",
|
||||
"Reference": "[http://www.3mf.io/specification][_3MF][Michael_Sweet]"
|
||||
},
|
||||
{
|
||||
"Name": "e57",
|
||||
"Template": "model/e57",
|
||||
"Reference": "[ASTM]"
|
||||
},
|
||||
{
|
||||
"Name": "example",
|
||||
"Template": "model/example",
|
||||
"Reference": "[RFC4735]"
|
||||
},
|
||||
{
|
||||
"Name": "gltf-binary",
|
||||
"Template": "model/gltf-binary",
|
||||
"Reference": "[Khronos][Saurabh_Bhatia]"
|
||||
},
|
||||
{
|
||||
"Name": "gltf+json",
|
||||
"Template": "model/gltf+json",
|
||||
"Reference": "[Khronos][Uli_Klumpp]"
|
||||
},
|
||||
{
|
||||
"Name": "JT",
|
||||
"Template": "model/JT",
|
||||
"Reference": "[ISO-TC_184-SC_4][Michael_Zink]"
|
||||
},
|
||||
{
|
||||
"Name": "iges",
|
||||
"Template": "model/iges",
|
||||
"Reference": "[Curtis_Parks]"
|
||||
},
|
||||
{
|
||||
"Name": "mesh",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2077]"
|
||||
},
|
||||
{
|
||||
"Name": "mtl",
|
||||
"Template": "model/mtl",
|
||||
"Reference": "[DICOM_Standard_Committee][DICOM_WG_17][Carolyn_Hull]"
|
||||
},
|
||||
{
|
||||
"Name": "obj",
|
||||
"Template": "model/obj",
|
||||
"Reference": "[DICOM_Standard_Committee][DICOM_WG_17][Carolyn_Hull]"
|
||||
},
|
||||
{
|
||||
"Name": "prc",
|
||||
"Template": "model/prc",
|
||||
"Reference": "[ISO-TC_171-SC_2][Betsy_Fanning]"
|
||||
},
|
||||
{
|
||||
"Name": "step",
|
||||
"Template": "model/step",
|
||||
"Reference": "[ISO-TC_184-SC_4][Dana_Tripp]"
|
||||
},
|
||||
{
|
||||
"Name": "step+xml",
|
||||
"Template": "model/step+xml",
|
||||
"Reference": "[ISO-TC_184-SC_4][Dana_Tripp]"
|
||||
},
|
||||
{
|
||||
"Name": "step+zip",
|
||||
"Template": "model/step+zip",
|
||||
"Reference": "[ISO-TC_184-SC_4][Dana_Tripp]"
|
||||
},
|
||||
{
|
||||
"Name": "step-xml+zip",
|
||||
"Template": "model/step-xml+zip",
|
||||
"Reference": "[ISO-TC_184-SC_4][Dana_Tripp]"
|
||||
},
|
||||
{
|
||||
"Name": "stl",
|
||||
"Template": "model/stl",
|
||||
"Reference": "[DICOM_Standard_Committee][DICOM_WG_17][Carolyn_Hull]"
|
||||
},
|
||||
{
|
||||
"Name": "u3d",
|
||||
"Template": "model/u3d",
|
||||
"Reference": "[PDF_Association][Peter_Wyatt]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.bary",
|
||||
"Template": "model/vnd.bary",
|
||||
"Reference": "[Displaced_Micro-Mesh_SDK_Support]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.cld",
|
||||
"Template": "model/vnd.cld",
|
||||
"Reference": "[Robert_Monaghan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.collada+xml",
|
||||
"Template": "model/vnd.collada+xml",
|
||||
"Reference": "[James_Riordon]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dwf",
|
||||
"Template": "model/vnd.dwf",
|
||||
"Reference": "[Jason_Pratt]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.flatland.3dml",
|
||||
"Template": "model/vnd.flatland.3dml",
|
||||
"Reference": "[Michael_Powers]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.gdl",
|
||||
"Template": "model/vnd.gdl",
|
||||
"Reference": "[Attila_Babits]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.gs-gdl",
|
||||
"Template": "model/vnd.gs-gdl",
|
||||
"Reference": "[Attila_Babits]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.gtw",
|
||||
"Template": "model/vnd.gtw",
|
||||
"Reference": "[Yutaka_Ozaki]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.moml+xml",
|
||||
"Template": "model/vnd.moml+xml",
|
||||
"Reference": "[Christopher_Brooks]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.mts",
|
||||
"Template": "model/vnd.mts",
|
||||
"Reference": "[Boris_Rabinovitch]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.opengex",
|
||||
"Template": "model/vnd.opengex",
|
||||
"Reference": "[Eric_Lengyel]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.parasolid.transmit.binary",
|
||||
"Template": "model/vnd.parasolid.transmit.binary",
|
||||
"Reference": "[Parasolid]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.parasolid.transmit.text",
|
||||
"Template": "model/vnd.parasolid.transmit.text",
|
||||
"Reference": "[Parasolid]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.pytha.pyox",
|
||||
"Template": "model/vnd.pytha.pyox",
|
||||
"Reference": "[Daniel_Flassig]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.rosette.annotated-data-model",
|
||||
"Template": "model/vnd.rosette.annotated-data-model",
|
||||
"Reference": "[Benson_Margulies]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sap.vds",
|
||||
"Template": "model/vnd.sap.vds",
|
||||
"Reference": "[SAP_SE][Igor_Afanasyev]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.usda",
|
||||
"Template": "model/vnd.usda",
|
||||
"Reference": "[Sebastian_Grassia]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.usdz+zip",
|
||||
"Template": "model/vnd.usdz+zip",
|
||||
"Reference": "[Sebastian_Grassia]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.valve.source.compiled-map",
|
||||
"Template": "model/vnd.valve.source.compiled-map",
|
||||
"Reference": "[Henrik_Andersson]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.vtu",
|
||||
"Template": "model/vnd.vtu",
|
||||
"Reference": "[Boris_Rabinovitch]"
|
||||
},
|
||||
{
|
||||
"Name": "vrml",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2077]"
|
||||
},
|
||||
{
|
||||
"Name": "x3d-vrml",
|
||||
"Template": "model/x3d-vrml",
|
||||
"Reference": "[Web3D][Web3D_X3D]"
|
||||
},
|
||||
{
|
||||
"Name": "x3d+fastinfoset",
|
||||
"Template": "model/x3d+fastinfoset",
|
||||
"Reference": "[Web3D_X3D]"
|
||||
},
|
||||
{
|
||||
"Name": "x3d+xml",
|
||||
"Template": "model/x3d+xml",
|
||||
"Reference": "[Web3D][Web3D_X3D]"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,87 @@
|
|||
[
|
||||
{
|
||||
"Name": "alternative",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2046][RFC2045]"
|
||||
},
|
||||
{
|
||||
"Name": "appledouble",
|
||||
"Template": "multipart/appledouble",
|
||||
"Reference": "[Patrik_Faltstrom]"
|
||||
},
|
||||
{
|
||||
"Name": "byteranges",
|
||||
"Template": "multipart/byteranges",
|
||||
"Reference": "[RFC9110]"
|
||||
},
|
||||
{
|
||||
"Name": "digest",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2046][RFC2045]"
|
||||
},
|
||||
{
|
||||
"Name": "encrypted",
|
||||
"Template": "multipart/encrypted",
|
||||
"Reference": "[RFC1847]"
|
||||
},
|
||||
{
|
||||
"Name": "example",
|
||||
"Template": "multipart/example",
|
||||
"Reference": "[RFC4735]"
|
||||
},
|
||||
{
|
||||
"Name": "form-data",
|
||||
"Template": "multipart/form-data",
|
||||
"Reference": "[RFC7578]"
|
||||
},
|
||||
{
|
||||
"Name": "header-set",
|
||||
"Template": "multipart/header-set",
|
||||
"Reference": "[Dave_Crocker]"
|
||||
},
|
||||
{
|
||||
"Name": "mixed",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2046][RFC2045]"
|
||||
},
|
||||
{
|
||||
"Name": "multilingual",
|
||||
"Template": "multipart/multilingual",
|
||||
"Reference": "[RFC8255]"
|
||||
},
|
||||
{
|
||||
"Name": "parallel",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2046][RFC2045]"
|
||||
},
|
||||
{
|
||||
"Name": "related",
|
||||
"Template": "multipart/related",
|
||||
"Reference": "[RFC2387]"
|
||||
},
|
||||
{
|
||||
"Name": "report",
|
||||
"Template": "multipart/report",
|
||||
"Reference": "[RFC6522]"
|
||||
},
|
||||
{
|
||||
"Name": "signed",
|
||||
"Template": "multipart/signed",
|
||||
"Reference": "[RFC1847]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.bint.med-plus",
|
||||
"Template": "multipart/vnd.bint.med-plus",
|
||||
"Reference": "[Heinz-Peter_Schütz]"
|
||||
},
|
||||
{
|
||||
"Name": "voice-message",
|
||||
"Template": "multipart/voice-message",
|
||||
"Reference": "[RFC3801]"
|
||||
},
|
||||
{
|
||||
"Name": "x-mixed-replace",
|
||||
"Template": "multipart/x-mixed-replace",
|
||||
"Reference": "[W3C][Robin_Berjon]"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,472 @@
|
|||
[
|
||||
{
|
||||
"Name": "1d-interleaved-parityfec",
|
||||
"Template": "text/1d-interleaved-parityfec",
|
||||
"Reference": "[RFC6015]"
|
||||
},
|
||||
{
|
||||
"Name": "cache-manifest",
|
||||
"Template": "text/cache-manifest",
|
||||
"Reference": "[W3C][Robin_Berjon]"
|
||||
},
|
||||
{
|
||||
"Name": "calendar",
|
||||
"Template": "text/calendar",
|
||||
"Reference": "[RFC5545]"
|
||||
},
|
||||
{
|
||||
"Name": "cql",
|
||||
"Template": "text/cql",
|
||||
"Reference": "[HL7][Bryn_Rhodes]"
|
||||
},
|
||||
{
|
||||
"Name": "cql-expression",
|
||||
"Template": "text/cql-expression",
|
||||
"Reference": "[HL7][Bryn_Rhodes]"
|
||||
},
|
||||
{
|
||||
"Name": "cql-identifier",
|
||||
"Template": "text/cql-identifier",
|
||||
"Reference": "[HL7][Bryn_Rhodes]"
|
||||
},
|
||||
{
|
||||
"Name": "css",
|
||||
"Template": "text/css",
|
||||
"Reference": "[RFC2318]"
|
||||
},
|
||||
{
|
||||
"Name": "csv",
|
||||
"Template": "text/csv",
|
||||
"Reference": "[RFC4180][RFC7111]"
|
||||
},
|
||||
{
|
||||
"Name": "csv-schema",
|
||||
"Template": "text/csv-schema",
|
||||
"Reference": "[National_Archives_UK][David_Underdown]"
|
||||
},
|
||||
{
|
||||
"Name": "directory - DEPRECATED by RFC6350",
|
||||
"Template": "text/directory",
|
||||
"Reference": "[RFC2425][RFC6350]"
|
||||
},
|
||||
{
|
||||
"Name": "dns",
|
||||
"Template": "text/dns",
|
||||
"Reference": "[RFC4027]"
|
||||
},
|
||||
{
|
||||
"Name": "ecmascript (OBSOLETED in favor of text/javascript)",
|
||||
"Template": "text/ecmascript",
|
||||
"Reference": "[RFC9239]"
|
||||
},
|
||||
{
|
||||
"Name": "encaprtp",
|
||||
"Template": "text/encaprtp",
|
||||
"Reference": "[RFC6849]"
|
||||
},
|
||||
{
|
||||
"Name": "enriched",
|
||||
"Template": "",
|
||||
"Reference": "[RFC1896]"
|
||||
},
|
||||
{
|
||||
"Name": "example",
|
||||
"Template": "text/example",
|
||||
"Reference": "[RFC4735]"
|
||||
},
|
||||
{
|
||||
"Name": "fhirpath",
|
||||
"Template": "text/fhirpath",
|
||||
"Reference": "[HL7][Bryn_Rhodes]"
|
||||
},
|
||||
{
|
||||
"Name": "flexfec",
|
||||
"Template": "text/flexfec",
|
||||
"Reference": "[RFC8627]"
|
||||
},
|
||||
{
|
||||
"Name": "fwdred",
|
||||
"Template": "text/fwdred",
|
||||
"Reference": "[RFC6354]"
|
||||
},
|
||||
{
|
||||
"Name": "gff3",
|
||||
"Template": "text/gff3",
|
||||
"Reference": "[Sequence_Ontology]"
|
||||
},
|
||||
{
|
||||
"Name": "grammar-ref-list",
|
||||
"Template": "text/grammar-ref-list",
|
||||
"Reference": "[RFC6787]"
|
||||
},
|
||||
{
|
||||
"Name": "hl7v2",
|
||||
"Template": "text/hl7v2",
|
||||
"Reference": "[HL7][Marc_Duteau]"
|
||||
},
|
||||
{
|
||||
"Name": "html",
|
||||
"Template": "text/html",
|
||||
"Reference": "[W3C][Robin_Berjon]"
|
||||
},
|
||||
{
|
||||
"Name": "javascript",
|
||||
"Template": "text/javascript",
|
||||
"Reference": "[RFC9239]"
|
||||
},
|
||||
{
|
||||
"Name": "jcr-cnd",
|
||||
"Template": "text/jcr-cnd",
|
||||
"Reference": "[Peeter_Piegaze]"
|
||||
},
|
||||
{
|
||||
"Name": "markdown",
|
||||
"Template": "text/markdown",
|
||||
"Reference": "[RFC7763]"
|
||||
},
|
||||
{
|
||||
"Name": "mizar",
|
||||
"Template": "text/mizar",
|
||||
"Reference": "[Jesse_Alama]"
|
||||
},
|
||||
{
|
||||
"Name": "n3",
|
||||
"Template": "text/n3",
|
||||
"Reference": "[W3C][Eric_Prudhommeaux]"
|
||||
},
|
||||
{
|
||||
"Name": "parameters",
|
||||
"Template": "text/parameters",
|
||||
"Reference": "[RFC7826]"
|
||||
},
|
||||
{
|
||||
"Name": "parityfec",
|
||||
"Template": "text/parityfec",
|
||||
"Reference": "[RFC3009]"
|
||||
},
|
||||
{
|
||||
"Name": "plain",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2046][RFC3676][RFC5147]"
|
||||
},
|
||||
{
|
||||
"Name": "provenance-notation",
|
||||
"Template": "text/provenance-notation",
|
||||
"Reference": "[W3C][Ivan_Herman]"
|
||||
},
|
||||
{
|
||||
"Name": "prs.fallenstein.rst",
|
||||
"Template": "text/prs.fallenstein.rst",
|
||||
"Reference": "[Benja_Fallenstein]"
|
||||
},
|
||||
{
|
||||
"Name": "prs.lines.tag",
|
||||
"Template": "text/prs.lines.tag",
|
||||
"Reference": "[John_Lines]"
|
||||
},
|
||||
{
|
||||
"Name": "prs.prop.logic",
|
||||
"Template": "text/prs.prop.logic",
|
||||
"Reference": "[Hans-Dieter_A._Hiep]"
|
||||
},
|
||||
{
|
||||
"Name": "prs.texi",
|
||||
"Template": "text/prs.texi",
|
||||
"Reference": "[Matin_Bavardi]"
|
||||
},
|
||||
{
|
||||
"Name": "raptorfec",
|
||||
"Template": "text/raptorfec",
|
||||
"Reference": "[RFC6682]"
|
||||
},
|
||||
{
|
||||
"Name": "RED",
|
||||
"Template": "text/RED",
|
||||
"Reference": "[RFC4102]"
|
||||
},
|
||||
{
|
||||
"Name": "rfc822-headers",
|
||||
"Template": "text/rfc822-headers",
|
||||
"Reference": "[RFC6522]"
|
||||
},
|
||||
{
|
||||
"Name": "richtext",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2045][RFC2046]"
|
||||
},
|
||||
{
|
||||
"Name": "rtf",
|
||||
"Template": "text/rtf",
|
||||
"Reference": "[Paul_Lindner]"
|
||||
},
|
||||
{
|
||||
"Name": "rtp-enc-aescm128",
|
||||
"Template": "text/rtp-enc-aescm128",
|
||||
"Reference": "[_3GPP]"
|
||||
},
|
||||
{
|
||||
"Name": "rtploopback",
|
||||
"Template": "text/rtploopback",
|
||||
"Reference": "[RFC6849]"
|
||||
},
|
||||
{
|
||||
"Name": "rtx",
|
||||
"Template": "text/rtx",
|
||||
"Reference": "[RFC4588]"
|
||||
},
|
||||
{
|
||||
"Name": "SGML",
|
||||
"Template": "text/SGML",
|
||||
"Reference": "[RFC1874]"
|
||||
},
|
||||
{
|
||||
"Name": "shaclc",
|
||||
"Template": "text/shaclc",
|
||||
"Reference": "[W3C_SHACL_Community_Group][Vladimir_Alexiev]"
|
||||
},
|
||||
{
|
||||
"Name": "shex",
|
||||
"Template": "text/shex",
|
||||
"Reference": "[W3C][Eric_Prudhommeaux]"
|
||||
},
|
||||
{
|
||||
"Name": "spdx",
|
||||
"Template": "text/spdx",
|
||||
"Reference": "[Linux_Foundation][Rose_Judge]"
|
||||
},
|
||||
{
|
||||
"Name": "strings",
|
||||
"Template": "text/strings",
|
||||
"Reference": "[IEEE-ISTO-PWG-PPP]"
|
||||
},
|
||||
{
|
||||
"Name": "t140",
|
||||
"Template": "text/t140",
|
||||
"Reference": "[RFC4103]"
|
||||
},
|
||||
{
|
||||
"Name": "tab-separated-values",
|
||||
"Template": "text/tab-separated-values",
|
||||
"Reference": "[Paul_Lindner]"
|
||||
},
|
||||
{
|
||||
"Name": "troff",
|
||||
"Template": "text/troff",
|
||||
"Reference": "[RFC4263]"
|
||||
},
|
||||
{
|
||||
"Name": "turtle",
|
||||
"Template": "text/turtle",
|
||||
"Reference": "[W3C][Eric_Prudhommeaux]"
|
||||
},
|
||||
{
|
||||
"Name": "ulpfec",
|
||||
"Template": "text/ulpfec",
|
||||
"Reference": "[RFC5109]"
|
||||
},
|
||||
{
|
||||
"Name": "uri-list",
|
||||
"Template": "text/uri-list",
|
||||
"Reference": "[RFC2483]"
|
||||
},
|
||||
{
|
||||
"Name": "vcard",
|
||||
"Template": "text/vcard",
|
||||
"Reference": "[RFC6350]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.a",
|
||||
"Template": "text/vnd.a",
|
||||
"Reference": "[Regis_Dehoux]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.abc",
|
||||
"Template": "text/vnd.abc",
|
||||
"Reference": "[Steve_Allen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.ascii-art",
|
||||
"Template": "text/vnd.ascii-art",
|
||||
"Reference": "[Kim_Scarborough]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.curl",
|
||||
"Template": "text/vnd.curl",
|
||||
"Reference": "[Robert_Byrnes]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.debian.copyright",
|
||||
"Template": "text/vnd.debian.copyright",
|
||||
"Reference": "[Charles_Plessy]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.DMClientScript",
|
||||
"Template": "text/vnd.DMClientScript",
|
||||
"Reference": "[Dan_Bradley]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dvb.subtitle",
|
||||
"Template": "text/vnd.dvb.subtitle",
|
||||
"Reference": "[Peter_Siebert][Michael_Lagally]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.esmertec.theme-descriptor",
|
||||
"Template": "text/vnd.esmertec.theme-descriptor",
|
||||
"Reference": "[Stefan_Eilemann]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.exchangeable",
|
||||
"Template": "text/vnd.exchangeable",
|
||||
"Reference": "[Martin_Cizek]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.familysearch.gedcom",
|
||||
"Template": "text/vnd.familysearch.gedcom",
|
||||
"Reference": "[Gordon_Clarke]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.ficlab.flt",
|
||||
"Template": "text/vnd.ficlab.flt",
|
||||
"Reference": "[Steve_Gilberd]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.fly",
|
||||
"Template": "text/vnd.fly",
|
||||
"Reference": "[John-Mark_Gurney]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.fmi.flexstor",
|
||||
"Template": "text/vnd.fmi.flexstor",
|
||||
"Reference": "[Kari_E._Hurtta]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.gml",
|
||||
"Template": "text/vnd.gml",
|
||||
"Reference": "[Mi_Tar]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.graphviz",
|
||||
"Template": "text/vnd.graphviz",
|
||||
"Reference": "[John_Ellson]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.hans",
|
||||
"Template": "text/vnd.hans",
|
||||
"Reference": "[Hill_Hanxv]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.hgl",
|
||||
"Template": "text/vnd.hgl",
|
||||
"Reference": "[Heungsub_Lee]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.in3d.3dml",
|
||||
"Template": "text/vnd.in3d.3dml",
|
||||
"Reference": "[Michael_Powers]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.in3d.spot",
|
||||
"Template": "text/vnd.in3d.spot",
|
||||
"Reference": "[Michael_Powers]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.IPTC.NewsML",
|
||||
"Template": "text/vnd.IPTC.NewsML",
|
||||
"Reference": "[IPTC]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.IPTC.NITF",
|
||||
"Template": "text/vnd.IPTC.NITF",
|
||||
"Reference": "[IPTC]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.latex-z",
|
||||
"Template": "text/vnd.latex-z",
|
||||
"Reference": "[Mikusiak_Lubos]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.motorola.reflex",
|
||||
"Template": "text/vnd.motorola.reflex",
|
||||
"Reference": "[Mark_Patton]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.ms-mediapackage",
|
||||
"Template": "text/vnd.ms-mediapackage",
|
||||
"Reference": "[Jan_Nelson]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.net2phone.commcenter.command",
|
||||
"Template": "text/vnd.net2phone.commcenter.command",
|
||||
"Reference": "[Feiyu_Xie]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.radisys.msml-basic-layout",
|
||||
"Template": "text/vnd.radisys.msml-basic-layout",
|
||||
"Reference": "[RFC5707]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.senx.warpscript",
|
||||
"Template": "text/vnd.senx.warpscript",
|
||||
"Reference": "[Pierre_Papin]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.si.uricatalogue (OBSOLETED by request)",
|
||||
"Template": "text/vnd.si.uricatalogue",
|
||||
"Reference": "[Nicholas_Parks_Young]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sun.j2me.app-descriptor",
|
||||
"Template": "text/vnd.sun.j2me.app-descriptor",
|
||||
"Reference": "[Gary_Adams]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sosi",
|
||||
"Template": "text/vnd.sosi",
|
||||
"Reference": "[Petter_Reinholdtsen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.trolltech.linguist",
|
||||
"Template": "text/vnd.trolltech.linguist",
|
||||
"Reference": "[David_Lee_Lambert]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.wap.si",
|
||||
"Template": "text/vnd.wap.si",
|
||||
"Reference": "[WAP-Forum]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.wap.sl",
|
||||
"Template": "text/vnd.wap.sl",
|
||||
"Reference": "[WAP-Forum]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.wap.wml",
|
||||
"Template": "text/vnd.wap.wml",
|
||||
"Reference": "[Peter_Stark]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.wap.wmlscript",
|
||||
"Template": "text/vnd.wap.wmlscript",
|
||||
"Reference": "[Peter_Stark]"
|
||||
},
|
||||
{
|
||||
"Name": "vtt",
|
||||
"Template": "text/vtt",
|
||||
"Reference": "[W3C][Silvia_Pfeiffer]"
|
||||
},
|
||||
{
|
||||
"Name": "wgsl",
|
||||
"Template": "text/wgsl",
|
||||
"Reference": "[W3C][David_Neto]"
|
||||
},
|
||||
{
|
||||
"Name": "xml",
|
||||
"Template": "text/xml",
|
||||
"Reference": "[RFC7303]"
|
||||
},
|
||||
{
|
||||
"Name": "xml-external-parsed-entity",
|
||||
"Template": "text/xml-external-parsed-entity",
|
||||
"Reference": "[RFC7303]"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,457 @@
|
|||
[
|
||||
{
|
||||
"Name": "1d-interleaved-parityfec",
|
||||
"Template": "video/1d-interleaved-parityfec",
|
||||
"Reference": "[RFC6015]"
|
||||
},
|
||||
{
|
||||
"Name": "3gpp",
|
||||
"Template": "video/3gpp",
|
||||
"Reference": "[RFC3839][RFC6381]"
|
||||
},
|
||||
{
|
||||
"Name": "3gpp2",
|
||||
"Template": "video/3gpp2",
|
||||
"Reference": "[RFC4393][RFC6381]"
|
||||
},
|
||||
{
|
||||
"Name": "3gpp-tt",
|
||||
"Template": "video/3gpp-tt",
|
||||
"Reference": "[RFC4396]"
|
||||
},
|
||||
{
|
||||
"Name": "AV1",
|
||||
"Template": "video/AV1",
|
||||
"Reference": "[Alliance_for_Open_Media]"
|
||||
},
|
||||
{
|
||||
"Name": "BMPEG",
|
||||
"Template": "video/BMPEG",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "BT656",
|
||||
"Template": "video/BT656",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "CelB",
|
||||
"Template": "video/CelB",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "DV",
|
||||
"Template": "video/DV",
|
||||
"Reference": "[RFC6469]"
|
||||
},
|
||||
{
|
||||
"Name": "encaprtp",
|
||||
"Template": "video/encaprtp",
|
||||
"Reference": "[RFC6849]"
|
||||
},
|
||||
{
|
||||
"Name": "example",
|
||||
"Template": "video/example",
|
||||
"Reference": "[RFC4735]"
|
||||
},
|
||||
{
|
||||
"Name": "FFV1",
|
||||
"Template": "video/FFV1",
|
||||
"Reference": "[RFC9043]"
|
||||
},
|
||||
{
|
||||
"Name": "flexfec",
|
||||
"Template": "video/flexfec",
|
||||
"Reference": "[RFC8627]"
|
||||
},
|
||||
{
|
||||
"Name": "H261",
|
||||
"Template": "video/H261",
|
||||
"Reference": "[RFC4587]"
|
||||
},
|
||||
{
|
||||
"Name": "H263",
|
||||
"Template": "video/H263",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "H263-1998",
|
||||
"Template": "video/H263-1998",
|
||||
"Reference": "[RFC4629]"
|
||||
},
|
||||
{
|
||||
"Name": "H263-2000",
|
||||
"Template": "video/H263-2000",
|
||||
"Reference": "[RFC4629]"
|
||||
},
|
||||
{
|
||||
"Name": "H264",
|
||||
"Template": "video/H264",
|
||||
"Reference": "[RFC6184]"
|
||||
},
|
||||
{
|
||||
"Name": "H264-RCDO",
|
||||
"Template": "video/H264-RCDO",
|
||||
"Reference": "[RFC6185]"
|
||||
},
|
||||
{
|
||||
"Name": "H264-SVC",
|
||||
"Template": "video/H264-SVC",
|
||||
"Reference": "[RFC6190]"
|
||||
},
|
||||
{
|
||||
"Name": "H265",
|
||||
"Template": "video/H265",
|
||||
"Reference": "[RFC7798]"
|
||||
},
|
||||
{
|
||||
"Name": "H266",
|
||||
"Template": "video/H266",
|
||||
"Reference": "[RFC9328]"
|
||||
},
|
||||
{
|
||||
"Name": "iso.segment",
|
||||
"Template": "video/iso.segment",
|
||||
"Reference": "[David_Singer][ISO-IEC_JTC_1]"
|
||||
},
|
||||
{
|
||||
"Name": "JPEG",
|
||||
"Template": "video/JPEG",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "jpeg2000",
|
||||
"Template": "video/jpeg2000",
|
||||
"Reference": "[RFC5371][RFC5372]"
|
||||
},
|
||||
{
|
||||
"Name": "jxsv",
|
||||
"Template": "video/jxsv",
|
||||
"Reference": "[RFC9134]"
|
||||
},
|
||||
{
|
||||
"Name": "matroska",
|
||||
"Template": "video/matroska",
|
||||
"Reference": "[RFC-ietf-cellar-matroska-21]"
|
||||
},
|
||||
{
|
||||
"Name": "matroska-3d",
|
||||
"Template": "video/matroska-3d",
|
||||
"Reference": "[RFC-ietf-cellar-matroska-21]"
|
||||
},
|
||||
{
|
||||
"Name": "mj2",
|
||||
"Template": "video/mj2",
|
||||
"Reference": "[RFC3745]"
|
||||
},
|
||||
{
|
||||
"Name": "MP1S",
|
||||
"Template": "video/MP1S",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "MP2P",
|
||||
"Template": "video/MP2P",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "MP2T",
|
||||
"Template": "video/MP2T",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "mp4",
|
||||
"Template": "video/mp4",
|
||||
"Reference": "[RFC4337][RFC6381]"
|
||||
},
|
||||
{
|
||||
"Name": "MP4V-ES",
|
||||
"Template": "video/MP4V-ES",
|
||||
"Reference": "[RFC6416]"
|
||||
},
|
||||
{
|
||||
"Name": "MPV",
|
||||
"Template": "video/MPV",
|
||||
"Reference": "[RFC3555]"
|
||||
},
|
||||
{
|
||||
"Name": "mpeg",
|
||||
"Template": "",
|
||||
"Reference": "[RFC2045][RFC2046]"
|
||||
},
|
||||
{
|
||||
"Name": "mpeg4-generic",
|
||||
"Template": "video/mpeg4-generic",
|
||||
"Reference": "[RFC3640]"
|
||||
},
|
||||
{
|
||||
"Name": "nv",
|
||||
"Template": "video/nv",
|
||||
"Reference": "[RFC4856]"
|
||||
},
|
||||
{
|
||||
"Name": "ogg",
|
||||
"Template": "video/ogg",
|
||||
"Reference": "[RFC5334][RFC7845]"
|
||||
},
|
||||
{
|
||||
"Name": "parityfec",
|
||||
"Template": "video/parityfec",
|
||||
"Reference": "[RFC3009]"
|
||||
},
|
||||
{
|
||||
"Name": "pointer",
|
||||
"Template": "video/pointer",
|
||||
"Reference": "[RFC2862]"
|
||||
},
|
||||
{
|
||||
"Name": "quicktime",
|
||||
"Template": "video/quicktime",
|
||||
"Reference": "[RFC6381][Paul_Lindner]"
|
||||
},
|
||||
{
|
||||
"Name": "raptorfec",
|
||||
"Template": "video/raptorfec",
|
||||
"Reference": "[RFC6682]"
|
||||
},
|
||||
{
|
||||
"Name": "raw",
|
||||
"Template": "video/raw",
|
||||
"Reference": "[RFC4175]"
|
||||
},
|
||||
{
|
||||
"Name": "rtp-enc-aescm128",
|
||||
"Template": "video/rtp-enc-aescm128",
|
||||
"Reference": "[_3GPP]"
|
||||
},
|
||||
{
|
||||
"Name": "rtploopback",
|
||||
"Template": "video/rtploopback",
|
||||
"Reference": "[RFC6849]"
|
||||
},
|
||||
{
|
||||
"Name": "rtx",
|
||||
"Template": "video/rtx",
|
||||
"Reference": "[RFC4588]"
|
||||
},
|
||||
{
|
||||
"Name": "scip",
|
||||
"Template": "video/scip",
|
||||
"Reference": "[SCIP][Michael_Faller][Daniel_Hanson]"
|
||||
},
|
||||
{
|
||||
"Name": "smpte291",
|
||||
"Template": "video/smpte291",
|
||||
"Reference": "[RFC8331]"
|
||||
},
|
||||
{
|
||||
"Name": "SMPTE292M",
|
||||
"Template": "video/SMPTE292M",
|
||||
"Reference": "[RFC3497]"
|
||||
},
|
||||
{
|
||||
"Name": "ulpfec",
|
||||
"Template": "video/ulpfec",
|
||||
"Reference": "[RFC5109]"
|
||||
},
|
||||
{
|
||||
"Name": "vc1",
|
||||
"Template": "video/vc1",
|
||||
"Reference": "[RFC4425]"
|
||||
},
|
||||
{
|
||||
"Name": "vc2",
|
||||
"Template": "video/vc2",
|
||||
"Reference": "[RFC8450]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.CCTV",
|
||||
"Template": "video/vnd.CCTV",
|
||||
"Reference": "[Frank_Rottmann]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dece.hd",
|
||||
"Template": "video/vnd.dece.hd",
|
||||
"Reference": "[Michael_A_Dolan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dece.mobile",
|
||||
"Template": "video/vnd.dece.mobile",
|
||||
"Reference": "[Michael_A_Dolan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dece.mp4",
|
||||
"Template": "video/vnd.dece.mp4",
|
||||
"Reference": "[Michael_A_Dolan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dece.pd",
|
||||
"Template": "video/vnd.dece.pd",
|
||||
"Reference": "[Michael_A_Dolan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dece.sd",
|
||||
"Template": "video/vnd.dece.sd",
|
||||
"Reference": "[Michael_A_Dolan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dece.video",
|
||||
"Template": "video/vnd.dece.video",
|
||||
"Reference": "[Michael_A_Dolan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.directv.mpeg",
|
||||
"Template": "video/vnd.directv.mpeg",
|
||||
"Reference": "[Nathan_Zerbe]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.directv.mpeg-tts",
|
||||
"Template": "video/vnd.directv.mpeg-tts",
|
||||
"Reference": "[Nathan_Zerbe]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dlna.mpeg-tts",
|
||||
"Template": "video/vnd.dlna.mpeg-tts",
|
||||
"Reference": "[Edwin_Heredia]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.dvb.file",
|
||||
"Template": "video/vnd.dvb.file",
|
||||
"Reference": "[Peter_Siebert][Kevin_Murray]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.fvt",
|
||||
"Template": "video/vnd.fvt",
|
||||
"Reference": "[Arild_Fuldseth]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.hns.video",
|
||||
"Template": "video/vnd.hns.video",
|
||||
"Reference": "[Swaminathan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.iptvforum.1dparityfec-1010",
|
||||
"Template": "video/vnd.iptvforum.1dparityfec-1010",
|
||||
"Reference": "[Shuji_Nakamura]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.iptvforum.1dparityfec-2005",
|
||||
"Template": "video/vnd.iptvforum.1dparityfec-2005",
|
||||
"Reference": "[Shuji_Nakamura]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.iptvforum.2dparityfec-1010",
|
||||
"Template": "video/vnd.iptvforum.2dparityfec-1010",
|
||||
"Reference": "[Shuji_Nakamura]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.iptvforum.2dparityfec-2005",
|
||||
"Template": "video/vnd.iptvforum.2dparityfec-2005",
|
||||
"Reference": "[Shuji_Nakamura]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.iptvforum.ttsavc",
|
||||
"Template": "video/vnd.iptvforum.ttsavc",
|
||||
"Reference": "[Shuji_Nakamura]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.iptvforum.ttsmpeg2",
|
||||
"Template": "video/vnd.iptvforum.ttsmpeg2",
|
||||
"Reference": "[Shuji_Nakamura]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.motorola.video",
|
||||
"Template": "video/vnd.motorola.video",
|
||||
"Reference": "[Tom_McGinty]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.motorola.videop",
|
||||
"Template": "video/vnd.motorola.videop",
|
||||
"Reference": "[Tom_McGinty]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.mpegurl",
|
||||
"Template": "video/vnd.mpegurl",
|
||||
"Reference": "[Heiko_Recktenwald]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.ms-playready.media.pyv",
|
||||
"Template": "video/vnd.ms-playready.media.pyv",
|
||||
"Reference": "[Steve_DiAcetis]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.nokia.interleaved-multimedia",
|
||||
"Template": "video/vnd.nokia.interleaved-multimedia",
|
||||
"Reference": "[Petteri_Kangaslampi]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.nokia.mp4vr",
|
||||
"Template": "video/vnd.nokia.mp4vr",
|
||||
"Reference": "[Miska_M._Hannuksela]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.nokia.videovoip",
|
||||
"Template": "video/vnd.nokia.videovoip",
|
||||
"Reference": "[Nokia]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.objectvideo",
|
||||
"Template": "video/vnd.objectvideo",
|
||||
"Reference": "[John_Clark]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.radgamettools.bink",
|
||||
"Template": "video/vnd.radgamettools.bink",
|
||||
"Reference": "[Henrik_Andersson]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.radgamettools.smacker",
|
||||
"Template": "video/vnd.radgamettools.smacker",
|
||||
"Reference": "[Henrik_Andersson]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sealed.mpeg1",
|
||||
"Template": "video/vnd.sealed.mpeg1",
|
||||
"Reference": "[David_Petersen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sealed.mpeg4",
|
||||
"Template": "video/vnd.sealed.mpeg4",
|
||||
"Reference": "[David_Petersen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sealed.swf",
|
||||
"Template": "video/vnd.sealed.swf",
|
||||
"Reference": "[David_Petersen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.sealedmedia.softseal.mov",
|
||||
"Template": "video/vnd.sealedmedia.softseal.mov",
|
||||
"Reference": "[David_Petersen]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.uvvu.mp4",
|
||||
"Template": "video/vnd.uvvu.mp4",
|
||||
"Reference": "[Michael_A_Dolan]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.youtube.yt",
|
||||
"Template": "video/vnd.youtube.yt",
|
||||
"Reference": "[Google]"
|
||||
},
|
||||
{
|
||||
"Name": "vnd.vivo",
|
||||
"Template": "video/vnd.vivo",
|
||||
"Reference": "[John_Wolfe]"
|
||||
},
|
||||
{
|
||||
"Name": "VP8",
|
||||
"Template": "video/VP8",
|
||||
"Reference": "[RFC7741]"
|
||||
},
|
||||
{
|
||||
"Name": "VP9",
|
||||
"Template": "video/VP9",
|
||||
"Reference": "[RFC-ietf-payload-vp9-16]"
|
||||
}
|
||||
]
|
|
@ -3,15 +3,23 @@ package org.hl7.fhir.common.hapi.validation.support;
|
|||
import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.context.support.ConceptValidationOptions;
|
||||
import ca.uhn.fhir.context.support.IValidationSupport;
|
||||
import ca.uhn.fhir.context.support.ValidationSupportContext;
|
||||
import ca.uhn.fhir.context.support.IValidationSupport.CodeValidationResult;
|
||||
import ca.uhn.fhir.context.support.IValidationSupport.LookupCodeResult;
|
||||
import ca.uhn.fhir.context.support.LookupCodeRequest;
|
||||
import ca.uhn.fhir.context.support.ValidationSupportContext;
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.rest.api.Constants;
|
||||
import ca.uhn.fhir.rest.api.EncodingEnum;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
import org.hl7.fhir.r4.model.CodeSystem;
|
||||
import org.hl7.fhir.r4.model.ValueSet;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.ValueSource;
|
||||
|
||||
import static org.hl7.fhir.common.hapi.validation.support.CommonCodeSystemsTerminologyService.MIMETYPES_CODESYSTEM_URL;
|
||||
import static org.hl7.fhir.common.hapi.validation.support.CommonCodeSystemsTerminologyService.MIMETYPES_VALUESET_URL;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
@ -32,35 +40,35 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
|
||||
@Test
|
||||
public void testUcum_LookupCode_Good() {
|
||||
IValidationSupport.LookupCodeResult outcome = mySvc.lookupCode(newSupport(), new LookupCodeRequest("http://unitsofmeasure.org", "Cel"));
|
||||
LookupCodeResult outcome = mySvc.lookupCode(newSupport(), new LookupCodeRequest("http://unitsofmeasure.org", "Cel"));
|
||||
assert outcome != null;
|
||||
assertTrue(outcome.isFound());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUcum_LookupCode_Good2() {
|
||||
IValidationSupport.LookupCodeResult outcome = mySvc.lookupCode(newSupport(), new LookupCodeRequest("http://unitsofmeasure.org", "kg/m2"));
|
||||
LookupCodeResult outcome = mySvc.lookupCode(newSupport(), new LookupCodeRequest("http://unitsofmeasure.org", "kg/m2"));
|
||||
assert outcome != null;
|
||||
assertTrue(outcome.isFound());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUcum_LookupCode_Bad() {
|
||||
IValidationSupport.LookupCodeResult outcome = mySvc.lookupCode(newSupport(), new LookupCodeRequest("http://unitsofmeasure.org", "AAAAA"));
|
||||
LookupCodeResult outcome = mySvc.lookupCode(newSupport(), new LookupCodeRequest("http://unitsofmeasure.org", "AAAAA"));
|
||||
assert outcome != null;
|
||||
assertFalse(outcome.isFound());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUcum_LookupCode_UnknownSystem() {
|
||||
IValidationSupport.LookupCodeResult outcome = mySvc.lookupCode(newSupport(), new LookupCodeRequest("http://foo", "AAAAA"));
|
||||
LookupCodeResult outcome = mySvc.lookupCode(newSupport(), new LookupCodeRequest("http://foo", "AAAAA"));
|
||||
assertNull(outcome);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void lookupCode_languageOnlyLookup_isCaseInsensitive() {
|
||||
IValidationSupport.LookupCodeResult outcomeUpper = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "SGN", "Sign Languages", null));
|
||||
IValidationSupport.LookupCodeResult outcomeLower = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "sgn", "Sign Languages", null));
|
||||
LookupCodeResult outcomeUpper = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "SGN", "Sign Languages", null));
|
||||
LookupCodeResult outcomeLower = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "sgn", "Sign Languages", null));
|
||||
assertNotNull(outcomeUpper);
|
||||
assertNotNull(outcomeLower);
|
||||
assertTrue(outcomeLower.isFound());
|
||||
|
@ -69,8 +77,8 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
|
||||
@Test
|
||||
public void lookupCode_languageAndRegionLookup_isCaseInsensitive() {
|
||||
IValidationSupport.LookupCodeResult outcomeUpper = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "EN-US", "English", null));
|
||||
IValidationSupport.LookupCodeResult outcomeLower = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "en-us", "English", null));
|
||||
LookupCodeResult outcomeUpper = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "EN-US", "English", null));
|
||||
LookupCodeResult outcomeLower = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "en-us", "English", null));
|
||||
assertNotNull(outcomeUpper);
|
||||
assertNotNull(outcomeLower);
|
||||
assertTrue(outcomeLower.isFound());
|
||||
|
@ -81,7 +89,7 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
public void testUcum_ValidateCode_Good() {
|
||||
ValueSet vs = new ValueSet();
|
||||
vs.setUrl("http://hl7.org/fhir/ValueSet/ucum-units");
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateCodeInValueSet(newSupport(), newOptions(), "http://unitsofmeasure.org", "mg", null, vs);
|
||||
CodeValidationResult outcome = mySvc.validateCodeInValueSet(newSupport(), newOptions(), "http://unitsofmeasure.org", "mg", null, vs);
|
||||
assert outcome != null;
|
||||
assertTrue(outcome.isOk());
|
||||
assertEquals("(milligram)", outcome.getDisplay());
|
||||
|
@ -91,7 +99,7 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
public void testUcum_ValidateCode_Good_SystemInferred() {
|
||||
ValueSet vs = new ValueSet();
|
||||
vs.setUrl("http://hl7.org/fhir/ValueSet/ucum-units");
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateCodeInValueSet(newSupport(), newOptions().setInferSystem(true), null, "mg", null, vs);
|
||||
CodeValidationResult outcome = mySvc.validateCodeInValueSet(newSupport(), newOptions().setInferSystem(true), null, "mg", null, vs);
|
||||
assert outcome != null;
|
||||
assertTrue(outcome.isOk());
|
||||
assertEquals("(milligram)", outcome.getDisplay());
|
||||
|
@ -101,7 +109,7 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
public void testUcum_ValidateCode_Bad() {
|
||||
ValueSet vs = new ValueSet();
|
||||
vs.setUrl("http://hl7.org/fhir/ValueSet/ucum-units");
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateCodeInValueSet(newSupport(), newOptions(), "http://unitsofmeasure.org", "aaaaa", null, vs);
|
||||
CodeValidationResult outcome = mySvc.validateCodeInValueSet(newSupport(), newOptions(), "http://unitsofmeasure.org", "aaaaa", null, vs);
|
||||
assertNotNull(outcome);
|
||||
assertFalse(outcome.isOk());
|
||||
assertEquals("Error processing unit 'aaaaa': The unit 'aaaaa' is unknown' at position 0", outcome.getMessage());
|
||||
|
@ -110,7 +118,7 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
|
||||
@Test
|
||||
public void testLanguagesLanguagesCs_GoodCode() {
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateLookupCode(newSupport(), "en-CA", "urn:ietf:bcp:47");
|
||||
CodeValidationResult outcome = mySvc.validateLookupCode(newSupport(), "en-CA", "urn:ietf:bcp:47");
|
||||
assert outcome != null;
|
||||
assertTrue(outcome.isOk());
|
||||
assertEquals("English Canada", outcome.getDisplay());
|
||||
|
@ -118,13 +126,13 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
|
||||
@Test
|
||||
public void testLanguagesLanguagesCs_BadCode() {
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateLookupCode(newSupport(), "en-FOO", "urn:ietf:bcp:47");
|
||||
CodeValidationResult outcome = mySvc.validateLookupCode(newSupport(), "en-FOO", "urn:ietf:bcp:47");
|
||||
assertNull(outcome);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLanguages_CommonLanguagesVs_GoodCode() {
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "urn:ietf:bcp:47", "en-US", null, "http://hl7.org/fhir/ValueSet/languages");
|
||||
CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "urn:ietf:bcp:47", "en-US", null, "http://hl7.org/fhir/ValueSet/languages");
|
||||
assert outcome != null;
|
||||
assertTrue(outcome.isOk());
|
||||
assertEquals("English (United States)", outcome.getDisplay());
|
||||
|
@ -132,21 +140,21 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
|
||||
@Test
|
||||
public void testLanguages_CommonLanguagesVs_OnlyLanguage_NoRegion() {
|
||||
IValidationSupport.LookupCodeResult nl = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "nl"));
|
||||
assertTrue(nl.isFound());
|
||||
LookupCodeResult nl = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "nl"));
|
||||
assertTrue(nl != null && nl.isFound());
|
||||
assertEquals("Dutch", nl.getCodeDisplay());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLanguages_CommonLanguagesVs_LanguageAndRegion() {
|
||||
IValidationSupport.LookupCodeResult nl = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "nl-NL"));
|
||||
assertTrue(nl.isFound());
|
||||
LookupCodeResult nl = mySvc.lookupCode(newSupport(), new LookupCodeRequest("urn:ietf:bcp:47", "nl-NL"));
|
||||
assertTrue(nl != null && nl.isFound());
|
||||
assertEquals("Dutch Netherlands", nl.getCodeDisplay());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLanguages_CommonLanguagesVs_BadCode() {
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "urn:ietf:bcp:47", "FOO", null, "http://hl7.org/fhir/ValueSet/languages");
|
||||
CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "urn:ietf:bcp:47", "FOO", null, "http://hl7.org/fhir/ValueSet/languages");
|
||||
assert outcome != null;
|
||||
assertFalse(outcome.isOk());
|
||||
assertEquals("Code \"FOO\" is not in valueset: http://hl7.org/fhir/ValueSet/languages", outcome.getMessage());
|
||||
|
@ -154,7 +162,7 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
|
||||
@Test
|
||||
public void testLanguages_CommonLanguagesVs_BadSystem() {
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "FOO", "en-US", null, "http://hl7.org/fhir/ValueSet/languages");
|
||||
CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "FOO", "en-US", null, "http://hl7.org/fhir/ValueSet/languages");
|
||||
assert outcome != null;
|
||||
assertFalse(outcome.isOk());
|
||||
assertEquals("Inappropriate CodeSystem URL \"FOO\" for ValueSet: http://hl7.org/fhir/ValueSet/languages", outcome.getMessage());
|
||||
|
@ -162,7 +170,7 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
|
||||
@Test
|
||||
public void testLanguages_AllLanguagesVs_GoodCode() {
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "urn:ietf:bcp:47", "en-US", null, "http://hl7.org/fhir/ValueSet/all-languages");
|
||||
CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "urn:ietf:bcp:47", "en-US", null, "http://hl7.org/fhir/ValueSet/all-languages");
|
||||
assert outcome != null;
|
||||
assertTrue(outcome.isOk());
|
||||
assertEquals("English United States", outcome.getDisplay());
|
||||
|
@ -170,7 +178,7 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
|
||||
@Test
|
||||
public void testLanguages_AllLanguagesVs_BadCode() {
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "urn:ietf:bcp:47", "FOO", null, "http://hl7.org/fhir/ValueSet/all-languages");
|
||||
CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "urn:ietf:bcp:47", "FOO", null, "http://hl7.org/fhir/ValueSet/all-languages");
|
||||
assert outcome != null;
|
||||
assertFalse(outcome.isOk());
|
||||
assertEquals("Code \"FOO\" is not in valueset: http://hl7.org/fhir/ValueSet/all-languages", outcome.getMessage());
|
||||
|
@ -178,7 +186,7 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
|
||||
@Test
|
||||
public void testLanguages_AllLanguagesVs_BadSystem() {
|
||||
IValidationSupport.CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "FOO", "en-US", null, "http://hl7.org/fhir/ValueSet/all-languages");
|
||||
CodeValidationResult outcome = mySvc.validateCode(newSupport(), newOptions(), "FOO", "en-US", null, "http://hl7.org/fhir/ValueSet/all-languages");
|
||||
assert outcome != null;
|
||||
assertFalse(outcome.isOk());
|
||||
assertEquals("Inappropriate CodeSystem URL \"FOO\" for ValueSet: http://hl7.org/fhir/ValueSet/all-languages", outcome.getMessage());
|
||||
|
@ -238,6 +246,98 @@ public class CommonCodeSystemsTerminologyServiceTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFetchCodeSystem_withMimeType_returnsResult() {
|
||||
CodeSystem cs = (CodeSystem) mySvc.fetchCodeSystem(MIMETYPES_CODESYSTEM_URL);
|
||||
assertNotNull(cs);
|
||||
assertEquals(2085, cs.getConcept().size());
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(strings = { EncodingEnum.JSON_PLAIN_STRING, Constants.CT_FHIR_JSON_NEW, Constants.CT_FHIR_JSON, Constants.CT_TEXT })
|
||||
public void testValidateCode_withMimetypeKnown_returnValidResult(String code) {
|
||||
// test
|
||||
CodeValidationResult result = mySvc.validateCode(newSupport(), newOptions(), MIMETYPES_CODESYSTEM_URL, code, null, MIMETYPES_VALUESET_URL);
|
||||
|
||||
// verify
|
||||
assertNotNull(result);
|
||||
assertEquals(code, result.getCode());
|
||||
assertTrue(result.isOk());
|
||||
assertNull(result.getSeverity());
|
||||
assertNull(result.getMessage());
|
||||
assertNotNull(result.getDisplay());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidateCode_withMimetypeUnknown_returnInvalidResult() {
|
||||
// setup
|
||||
final String system = MIMETYPES_CODESYSTEM_URL;
|
||||
final String code = "someCode";
|
||||
|
||||
// test
|
||||
CodeValidationResult result = mySvc.validateCode(newSupport(), newOptions(), system, code, null, null);
|
||||
|
||||
// verify
|
||||
assertNotNull(result);
|
||||
assertFalse(result.isOk());
|
||||
assertNull(result.getDisplay());
|
||||
assertEquals(IValidationSupport.IssueSeverity.ERROR, result.getSeverity());
|
||||
assertEquals(mySvc.getErrorMessage("invalidCodeInSystem", system, code), result.getMessage());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testValidateCode_withMimetypeUnknown_returnUnknownResult() {
|
||||
// setup
|
||||
final String system = MIMETYPES_CODESYSTEM_URL;
|
||||
final String code = "someCode";
|
||||
|
||||
// test
|
||||
CodeValidationResult result = mySvc.validateCode(newSupport(), newOptions(), system, code, null, MIMETYPES_VALUESET_URL);
|
||||
|
||||
// verify
|
||||
assertNotNull(result);
|
||||
assertFalse(result.isOk());
|
||||
assertNull(result.getDisplay());
|
||||
assertEquals(IValidationSupport.IssueSeverity.ERROR, result.getSeverity());
|
||||
assertEquals(mySvc.getErrorMessage("unknownCodeSystem", system, code), result.getMessage());
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(strings = { EncodingEnum.JSON_PLAIN_STRING, Constants.FORMAT_TURTLE, Constants.CT_FHIR_JSON_NEW, Constants.CT_FHIR_JSON, Constants.CT_TEXT })
|
||||
public void testLookupCode_withMimetype_returnFoundResult(String code) {
|
||||
// setup
|
||||
final String system = MIMETYPES_CODESYSTEM_URL;
|
||||
|
||||
// test
|
||||
LookupCodeResult result = mySvc.lookupCode(newSupport(), new LookupCodeRequest(system, code));
|
||||
|
||||
// verify
|
||||
assertNotNull(result);
|
||||
assertEquals(system, result.getSearchedForSystem());
|
||||
assertEquals(code, result.getSearchedForCode());
|
||||
assertTrue(result.isFound());
|
||||
assertNotNull(result.getCodeDisplay());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLookupCode_withMimetype_returnNotFoundResult() {
|
||||
// setup
|
||||
final String system = MIMETYPES_CODESYSTEM_URL;
|
||||
final String code = "someCode";
|
||||
|
||||
// test
|
||||
LookupCodeResult result = mySvc.lookupCode(newSupport(), new LookupCodeRequest(system, code));
|
||||
|
||||
// verify
|
||||
assertNotNull(result);
|
||||
assertEquals(system, result.getSearchedForSystem());
|
||||
assertEquals(code, result.getSearchedForCode());
|
||||
assertFalse(result.isFound());
|
||||
assertNull(result.getCodeDisplay());
|
||||
assertEquals(mySvc.getErrorMessage("invalidCodeInSystem", system, code), result.getErrorMessage());
|
||||
}
|
||||
|
||||
private ValidationSupportContext newSupport() {
|
||||
return new ValidationSupportContext(myCtx.getValidationSupport());
|
||||
}
|
||||
|
|
|
@ -63,18 +63,18 @@ public class InMemoryTerminologyServerValidationSupportTest {
|
|||
String valueSetUrl = "http://hl7.org/fhir/ValueSet/mimetypes";
|
||||
|
||||
// ValidateCode
|
||||
outcome = myChain.validateCode(valCtx, options, null, "txt", null, valueSetUrl);
|
||||
outcome = myChain.validateCode(valCtx, options, null, "xml", null, valueSetUrl);
|
||||
assertTrue(outcome.isOk());
|
||||
assertEquals("Code was validated against in-memory expansion of ValueSet: http://hl7.org/fhir/ValueSet/mimetypes", outcome.getSourceDetails());
|
||||
assertEquals("txt", outcome.getCode());
|
||||
assertEquals("xml", outcome.getCode());
|
||||
|
||||
// ValidateCodeInValueSet
|
||||
IBaseResource valueSet = myChain.fetchValueSet(valueSetUrl);
|
||||
assertNotNull(valueSet);
|
||||
outcome = myChain.validateCodeInValueSet(valCtx, options, null, "txt", null, valueSet);
|
||||
outcome = myChain.validateCodeInValueSet(valCtx, options, null, "xml", null, valueSet);
|
||||
assertTrue(outcome.isOk());
|
||||
assertEquals("Code was validated against in-memory expansion of ValueSet: http://hl7.org/fhir/ValueSet/mimetypes", outcome.getSourceDetails());
|
||||
assertEquals("txt", outcome.getCode());
|
||||
assertEquals("xml", outcome.getCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -4,6 +4,7 @@ import ca.uhn.fhir.context.FhirContext;
|
|||
import ca.uhn.fhir.context.support.DefaultProfileValidationSupport;
|
||||
import ca.uhn.fhir.context.support.IValidationSupport;
|
||||
import ca.uhn.fhir.parser.IParser;
|
||||
import ca.uhn.fhir.rest.api.Constants;
|
||||
import ca.uhn.fhir.util.TestUtil;
|
||||
import ca.uhn.fhir.validation.FhirValidator;
|
||||
import ca.uhn.fhir.validation.ResultSeverityEnum;
|
||||
|
@ -156,7 +157,7 @@ public class QuestionnaireResponseValidatorDstu3Test {
|
|||
answerValues[10] = new Coding().setSystem("http://codesystems.com/system").setCode("code0");
|
||||
answerValues[11] = new Coding().setSystem("http://codesystems.com/system").setCode("code0");
|
||||
answerValues[12] = new StringType("some value");
|
||||
answerValues[13] = new Attachment().setData("some data".getBytes()).setContentType("txt");
|
||||
answerValues[13] = new Attachment().setData("some data".getBytes()).setContentType(Constants.CT_OCTET_STREAM);
|
||||
answerValues[14] = new Reference(QUESTIONNAIRE_URL);
|
||||
answerValues[15] = new Quantity(42);
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import ca.uhn.fhir.context.FhirContext;
|
|||
import ca.uhn.fhir.context.support.DefaultProfileValidationSupport;
|
||||
import ca.uhn.fhir.context.support.IValidationSupport;
|
||||
import ca.uhn.fhir.parser.IParser;
|
||||
import ca.uhn.fhir.rest.api.Constants;
|
||||
import ca.uhn.fhir.util.TestUtil;
|
||||
import ca.uhn.fhir.validation.FhirValidator;
|
||||
import ca.uhn.fhir.validation.ResultSeverityEnum;
|
||||
|
@ -128,7 +129,7 @@ public class QuestionnaireResponseValidatorR4Test {
|
|||
answerValues[10] = new Coding().setSystem("http://codesystems.com/system").setCode("code0");
|
||||
answerValues[11] = new Coding().setSystem("http://codesystems.com/system").setCode("code0");
|
||||
answerValues[12] = new StringType("some value");
|
||||
answerValues[13] = new Attachment().setData("some data".getBytes()).setContentType("txt");
|
||||
answerValues[13] = new Attachment().setData("some data".getBytes()).setContentType(Constants.CT_OCTET_STREAM);
|
||||
answerValues[14] = new Reference("http://example.com/Questionnaire/q1");
|
||||
answerValues[15] = new Quantity(42);
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import ca.uhn.fhir.context.FhirContext;
|
|||
import ca.uhn.fhir.context.support.DefaultProfileValidationSupport;
|
||||
import ca.uhn.fhir.context.support.IValidationSupport;
|
||||
import ca.uhn.fhir.parser.IParser;
|
||||
import ca.uhn.fhir.rest.api.Constants;
|
||||
import ca.uhn.fhir.validation.FhirValidator;
|
||||
import ca.uhn.fhir.validation.ResultSeverityEnum;
|
||||
import ca.uhn.fhir.validation.SingleValidationMessage;
|
||||
|
@ -151,7 +152,7 @@ public class QuestionnaireResponseValidatorR5Test {
|
|||
answerValues[9] = new UriType("http://example.com");
|
||||
answerValues[10] = new Coding().setSystem("http://codesystems.com/system").setCode("code0");
|
||||
answerValues[11] = new Coding().setSystem("http://codesystems.com/system").setCode("code0");
|
||||
answerValues[12] = new Attachment().setData("some data".getBytes()).setContentType("txt");
|
||||
answerValues[12] = new Attachment().setData("some data".getBytes()).setContentType(Constants.CT_OCTET_STREAM);
|
||||
answerValues[13] = new Reference("http://example.com/Questionnaire/q1");
|
||||
answerValues[14] = new Quantity(42);
|
||||
|
||||
|
|
Loading…
Reference in New Issue