---
title: specialize
framework: tvml
role: collectionGroup
path: tvml/specialize
---

# specialize

Implements queries used for data binding.

## Overview

Overview The specialize element is used to modify an existing element based on a data query. Combine the query with parameters contained in your JSON data to determine how to modify an existing element. Here’s an example that changes the text for a button if the user has started watching a media item, but hasn’t finished it. <specialize state="({progress}-greater-than:0) and ({progress}-less-than:1)">     <button tag="button">         <text>Resume</text>     </button> </specialize> Subelements of specialize The specialize element can contain any element. Elements that Use specialize rules

## Topics

### Valid TVML Attributes

- [binding](tvml/binding.md)
- [prototype](tvml/prototype.md)
- [theme](tvml/theme.md)

## See Also

### Binding Elements

- [prototypes](tvml/prototypes.md)
- [rules](tvml/rules.md)
