allowTagExtension 方法

void allowTagExtension(
  1. String tagName,
  2. String baseName, {
  3. UriPolicy? uriPolicy,
  4. Iterable<String>? attributes,
  5. Iterable<String>? uriAttributes,
})

允许使用指定类型名称和指定属性的标签扩展。

这将允许标签扩展(例如

),但不会允许自定义标签。使用 allowCustomElement 允许自定义标签。

实现

void allowTagExtension(String tagName, String baseName,
    {UriPolicy? uriPolicy,
    Iterable<String>? attributes,
    Iterable<String>? uriAttributes}) {
  var baseNameUpper = baseName.toUpperCase();
  var tagNameUpper = tagName.toUpperCase();
  var attrs = attributes
      ?.map<String>((name) => '$baseNameUpper::${name.toLowerCase()}');
  var uriAttrs = uriAttributes
      ?.map<String>((name) => '$baseNameUpper::${name.toLowerCase()}');
  if (uriPolicy == null) {
    uriPolicy = new UriPolicy();
  }

  add(new _CustomElementNodeValidator(uriPolicy,
      [tagNameUpper, baseNameUpper], attrs, uriAttrs, true, false));
}