- From: SVG Working Group repository <cam+svgwgrepo@mcc.id.au>
- Date: Thu, 10 Apr 2014 01:16:15 -0700
- To: public-svg-wg@w3.org
details: https://svgwg.org/hg/svg2-tools/rev/82c4907ef7c3
branches:
changeset: 85:82c4907ef7c3
user: Cameron McCormack <cam@mcc.id.au>
date: Thu Apr 10 18:15:56 2014 +1000
description:
Make <edit:with> disambiguate bare names to an attribute on the element.
diffstat:
publish/definitions.js | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diffs (28 lines):
diff --git a/publish/definitions.js b/publish/definitions.js
--- a/publish/definitions.js
+++ b/publish/definitions.js
@@ -268,16 +268,24 @@ function getElementContext(definitions,
}
Definitions.prototype.formatNameLink = function(name, context, omitQuotes) {
var elementName = getElementContext(this, context);
var element = this.elements[name];
var attribute = elementName && this.elements[elementName].attributes[name] || this.commonAttributes[name];
var property = this.properties[name];
+ if (elementName && attribute) {
+ // Inside an <edit:with>, assume that <a>'name'</a> links refer to an
+ // attribute on the element given on the <edit:with>. Outside an
+ // <edit:with>, the name must be unambiguous.
+ element = null;
+ property = null;
+ }
+
if (!attribute && !property) {
var attrs = findAttributesInCategories(this, name)
.concat(findCommonAttributesForElements(this, name));
if (attrs.length > 1) {
utils.warn('ambiguous name "' + name + '" matching multiple attributes', context);
return utils.parse('<span class="xxx">@@ ambiguous name "{{name}}" (matches multiple attributes)</span>', { name: name });
}
attribute = attrs[0];
Received on Thursday, 10 April 2014 08:17:49 UTC