IntelliJ IDEA 2021.2 Help

Convert Contents To Attribute

The Convert Tag Contents to Attribute refactoring allows you to replace the contents of a set of XMLs tag with equivalent attributes. If this refactoring is invoked, all tags matching the selected tag's name will have their textual contents removed, and equivalent attributes created. This bulk transformation of tag contents to attributes is useful as XML schemas evolve.

Converting tag contents into attributes

Pressing Preview opens the Refactoring preview window displaying all found usages of the tags to be converted. In this window you can exclude/include usages you want to refactor.

Pressing Show XSLT... opens the XSLT preview window displaying an small fragment of XSLT equivalent to the refactoring requested. This fragment can be used by XSLT processors to perform the requested refactoring on files external to your IntelliJ IDEA project.

The Refactoring preview window may appear anyway, if the files to be affected are read-only.

  1. In the editor, place the cursor within the tag whose contents you want to convert.

  2. Select Refactor | XML Refactorings | Convert Tag Contents to Attribute from the main or the context menu.

    1_convertContentsToAttribute.PNG
  3. Determine the name of the attributes to be created from the selected tag contents.

  4. Determine the scope of the replacement. All tags matching name of the selected will have their contents converted to attributes, if they are in the selected scope. Scopes available include the current file, the entire project, or a specified directory or module. Directory scopes can either include sub-directories, or not, based on whether the Recursively checkbox is selected. If the Limit to files with DTD:... checkbox is selected, the scope will be limited to those files with the same DOCTYPE as the current file.

  5. Click Preview button to make IntelliJ IDEA to search for usages of the selected tag Find window.

  6. Click OK to continue. If you do not select the Preview option, all usages will be changed immediately.

Last modified: 02 August 2022