<commit_before>Dsx
===

Inspired by Facebooks' JSX and XHP projects,
The module takes XML/HTML strings and converts them into Drupal Render Arrays.
This lets Drupal modules define xml directly instead of using templates.
Allowing for much more modular designs, i.e.
 - Atomic design by <NAME> (http://bradfrost.com/blog/post/atomic-web-design/),
 - or Google's card based design.

DSX supports:
 - XML namespaces,
 - The full Drupal form API,
 - Is extensible via dynamic hooks for custom XML tags,
 - Or via the more traditional hook_element_info().

Installation
==============
Install and Enable the module in Drupal.

Usage
======
Any time you would call theme('template_name'), you can instead call dsx_render(<DSX String>).

Defining Custom Tags
====================

Namespaces
===========

Dynamic hooks
=============

Traditional Drupal Method hook_element_info()
==============================================
<commit_msg>Updated the readme file with some better formatting and more links.<commit_after>Dsx
===

Inspired by Facebooks' JSX and XHP projects,
 - JSX : http://facebook.github.io/react/docs/jsx-in-depth.html
 - XHP : https://www.facebook.com/notes/facebook-engineering/xhp-a-new-way-to-write-php/294003943919

The module takes XML/HTML strings and converts them into Drupal Render Arrays.
This lets Drupal modules define xml directly instead of using templates.
Allowing for much more modular designs, i.e.
 - Atomic design by <NAME> (http://bradfrost.com/blog/post/atomic-web-design/),
 - or Google's card based design. (http://www.google.com/design/spec/components/cards.html)

DSX supports:
 - XML namespaces,
 - The full Drupal form API,
 - Is extensible via dynamic hooks for custom XML tags,
 - Or via the more traditional hook_element_info().

Installation
==============
Install and Enable the module in Drupal.
There is no magic here.
No hacking of Drupal core, or weird custom PHP extensions. :-)

Usage
======
Any time you would call `theme('template_name')`, you can instead call `dsx_render(<DSX String>)`.



#Defining Custom Tags


##Namespaces


##Dynamic hooks


##Traditional Drupal Method: hook_element_info()

{'fraction_non_alphanumeric': 0.1421933085501859, 'fraction_numerical': 0.0055762081784386614, 'mean_word_length': 4.548969072164948, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 1, 'lorem ipsum': 0, 'www.': 2, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5946183', 'n_tokens_mistral': 631, 'n_tokens_neox': 603, 'n_words': 236}