# The “scheme” attribute on the “meta” element is obsolete. Use only one scheme per field, or make the scheme declaration part of the value.

> Canonical HTML version: https://rocketvalidator.com/html-validation/the-scheme-attribute-on-the-meta-element-is-obsolete-use-only-one-scheme-per-field-or-make-the-scheme-declaration-part-of-the-value
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

In older HTML specifications (HTML 4.01), the `scheme` attribute was used to provide additional context for interpreting the `content` value of a `<meta>` element. It told browsers or metadata processors which encoding scheme, format, or vocabulary applied to the metadata. For example, you could specify that a date followed the W3CDTF format or that a subject classification used a particular taxonomy.

HTML5 dropped the `scheme` attribute because it was rarely used by browsers and its purpose was better served by making the scheme part of the metadata value itself. The WHATWG HTML living standard does not recognize `scheme` as a valid attribute on `<meta>`, so including it will produce a validation error. Keeping obsolete attributes in your markup can cause confusion for developers maintaining the code and signals outdated practices that may accompany other compatibility issues.

This issue most commonly appears in documents that use Dublin Core Metadata Initiative (DCMI) metadata, which historically relied on `scheme` to indicate the encoding format for dates, identifiers, and subject classifications.

## How to fix it

There are several approaches depending on your use case:

1. **Simply remove the `scheme` attribute** if the format is already clear from context (e.g., ISO 8601 dates are universally understood).
2. **Incorporate the scheme into the `name` attribute** by using a more specific property name that implies the scheme.
3. **Include the scheme declaration in the `content` value** so the format information is preserved within the value itself.

For Dublin Core metadata specifically, the modern recommended approach is to use the `DCTERMS` namespace with RDFa or to simply drop the `scheme` attribute, since most date formats like `YYYY-MM-DD` are unambiguous.

## Examples

### Obsolete: using the `scheme` attribute

This triggers the validation error because `scheme` is not a valid attribute in HTML5:

```html
<meta name="DC.Date.Created" scheme="W3CDTF" content="2009-11-30">
```

Another common example with subject classification:

```html
<meta name="DC.Subject" scheme="LCSH" content="Web development">
```

### Fixed: removing the `scheme` attribute

If the value format is self-evident (as with ISO 8601 dates), simply remove `scheme`:

```html
<meta name="DC.Date.Created" content="2009-11-30">
```

### Fixed: incorporating the scheme into the value

When the scheme information is important for processors to understand the value, embed it in the `content` attribute:

```html
<meta name="DC.Subject" content="LCSH: Web development">
```

### Fixed: using a more specific property name

You can make the scheme implicit by using a more descriptive `name` value:

```html
<meta name="DCTERMS.created" content="2009-11-30">
```

### Fixed: using RDFa for richer metadata

For documents that require precise, machine-readable metadata with explicit schemes, consider using RDFa attributes instead of the obsolete `scheme`:

```html
<meta property="dcterms:created" content="2009-11-30">
```

This approach is compatible with HTML5 and provides the same semantic richness that the `scheme` attribute was originally designed to offer.
