def inline_anchor node
case node.type
when :ref
%(<anchor#{common_attributes((id = node.id), nil, node.reftext || %([#{id}]))}/>)
when :xref
if (path = node.attributes['path'])
%(<link xl:href="#{node.target}">#{node.text || path}</link>)
else
linkend = node.attributes['fragment'] || node.target
(text = node.text) ? %(<link linkend="#{linkend}">#{text}</link>) : %(<xref linkend="#{linkend}"/>)
end
when :link
%(<link xl:href="#{node.target}">#{node.text}</link>)
when :bibref
%(<anchor#{common_attributes node.id, nil, (text = node.text)}/>#{text})
else
warn %(asciidoctor: WARNING: unknown anchor type: #{node.type.inspect})
end
end