setElementTypePosition(new Position(elementTypePosition, elementTypeLength));
setInline(true);
if (matchingTagShortcut != null) {
for (Map.Entry<String, String> shortcutAttribute : matchingTagShortcut.getAttributes().entrySet()) {
BindingValue value = WodHtmlUtils.toBindingValue(shortcutAttribute.getValue(), buildProperties.getInlineBindingPrefix(), buildProperties.getInlineBindingSuffix());
SimpleWodBinding wodBinding = new SimpleWodBinding(null, shortcutAttribute.getKey(), value.getValue());
addBinding(wodBinding);
}
}
FuzzyXMLAttribute[] attributes = element.getAttributes();
for (FuzzyXMLAttribute attribute : attributes) {
String namespace = attribute.getNamespace();
String name = attribute.getName();
String originalValue = attribute.getValue();
BindingValue value = WodHtmlUtils.toBindingValue(originalValue, buildProperties.getInlineBindingPrefix(), buildProperties.getInlineBindingSuffix());
Position valuePosition;
Position valueNamespacePosition = null;
if (value.getValueNamespace() != null) {
int valueNamespaceOffset = originalValue.indexOf(value.getValueNamespace());
valueNamespacePosition = new Position(element.getOffset() + attribute.getValueDataOffset() + valueNamespaceOffset + 1, value.getValueNamespace().length());
int valueOffset = originalValue.indexOf(value.getValue(), valueNamespaceOffset + value.getValueNamespace().length());
valuePosition = new Position(valueNamespacePosition.offset + valueOffset, attribute.getValueDataLength() - valueOffset);
}
else {
valuePosition = new Position(element.getOffset() + attribute.getValueDataOffset() + 1, attribute.getValueDataLength());
}
SimpleWodBinding wodBinding = new SimpleWodBinding(namespace, name, value.getValueNamespace(), value.getValue(), new Position(attribute.getNamespaceOffset(), attribute.getNamespaceLength()), new Position(attribute.getNameOffset(), attribute.getNameLength()), valueNamespacePosition, valuePosition, -1);
wodBinding.setStartOffset(attribute.getOffset());
wodBinding.setEndOffset(attribute.getOffset() + attribute.getLength());
addBinding(wodBinding);
}