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));
}