JetBrains Rider 2018.1 Help

Language Injection Settings dialog: XML Attribute Injection

File | Settings | Editor | Language Injections | new | XML Attribute Injection for Windows and Linux
JetBrains Rider | Preferences | Editor | Language Injections | new | XML Attribute Injection for macOS

ItemDescription
Name The name of the injection.
Language The language to be injected.
  • ID. The language ID or name.
  • Prefix. A sequence of characters to be added before the corresponding string value.
  • Suffix. A sequence of characters to be added after the corresponding string value.

The prefix and suffix are optional. For more info, see Using language injection prefixes and suffixes.

XML TagIn this area, specify the XML tags in which the attributes are impacted by the defined configuration.
  • Local name - in this text box, specify the tag name without a namespace prefix. Use regular expressions to specify multiple tag names (name1|name2), case-insensitive names ((?i)tagname matches tagname as well as TagName), etc.
  • Namespace - in this text box, specify the namespace URI of the XML tag.

Both fields are optional. However, if the Local name text box is empty the configuration will apply to any attribute that matches the configured name, regardless of its containing XML tag.

XML AttributeIn this area, define the XML tag attribute which indicates that the text enclosed in a tag with such attribute should be treated as the selected language.
  • Local name - in this text box, specify the attribute name without a namespace prefix. Use regular expressions: For example, to match HTML event handler attributes, type on.* in the text box.

    The field is optional, unless the Local name text box in the XML Tag area is empty. If the attribute local name is not specified, the configuration applies to all attributes of the enclosing tag.

  • Namespace - in this text box, specify the namespace URI of the attribute.
Advanced In this area, specify additional settings to enable more fine-grained control over the injection process.
  • Value pattern - in this text box, type a regular expression that determines the part of the attribute's value to inject the language into. By using the first capturing group of the pattern as the target for injection, you can configure the procedure to have the language injected only into values that match a certain pattern or into multiple parts that match the pattern.
    • Single file - If the option is off, the fragments that match the value pattern are treated separately, as different "files" - e.g. from the fragment editor's viewpoint.
      If the option is on, the corresponding fragments are all merged together to form a single unit, or "file".
      Given the value pattern
      xxx (.+) yyy (.+) zzz
      and the fragment
      xxx select * yyy from family zzz,
      select * and from family are treated as two independent fragments (or "files") if the option is off. If the option is on, select * from family is treated as a single unit or "file".
  • XPath condition - in this text box, specify an XPath expression to address the injection-target more precisely. The context in which the expression is evaluated is the attribute itself.

    For the field to be active, the XPathView + XSLT Support plugin must be enabled.

Last modified: 20 August 2018

See Also