HTML Recipe: Multiline Attributes

Some days ago I discovered that an HTML tag can have attributes whose values span multiple lines. This is very useful when the value is a piece of javascript code, which in fact is immune to white space.

The HTML recipe I bundled to Chili 1.5 is a bit wrong, though, because it doesn’t consider that possibility. This is one that does:

/*  
===============================================================================
Chili Recipe for the HTML language
...............................................................................

Version: 1.5a - 2007/02 - http://noteslog.com/chili/

-------------------------------------------------------------------------------
Copyright (c) 2006 Andrea Ercolino
http://www.opensource.org/licenses/mit-license.php
===============================================================================
*/

{
	steps: {		
		  mlcom : { exp: /<!--(?:.|n)*?-->/ }
		, tag   : { exp: /(?:<w+)|(?:>)|(?:</w+>)|(?:/>)/ }
		, aname : { exp: /s+w+(?=s*=)/ }
        , avalue: { exp: /(["'])(?:(?:[^1\]*?(?:11|\.))*[^1\]*?)1/ }
		, entity: { exp: /&[w#]+?;/ }
	}
}

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.