Login | Register
My pages Projects Community openCollabNet

Project home

2020-03-13: This site is going to be decommissioned and shut down very soon. Please copy and archive any data you wish to keep ASAP

If you were registered and logged in, you could join this project.

Summary Dynamic DOM adds dynamism to XML using XRules business rules.
Categories libraries, design, construction
Owner(s) waleedka


DynamicDOM is an extension of the W3C DOM (Document Object Model) that adds dynamism to XML. For example, it allows you to define rules so that when you change, say, the TotalIncome node, the IncomeTax node updates automatically.

Just as C++ adds code to the C struct to create a class, DynamicDOM adds intelligence, in the form of rules and code, to the DOM to expand its capabilities beyond parsing XML documents to processing and enforcing business rules. Your XML document, then, becomes dynamic in the sense that it contains rules and code in addition to data, and updates itself automatically based predefined rules.

The DynamicDOM, through the XRules XML business rules language, allows you to define:

  1. Constraints: Restrictions on the content of an XML Document that must be satisfied for the document to be valid. For example:
    1. OrderClosingDate must be greater than .
    2. The attribute @BookID must be unique within the scope of a <Library> element, but can be repeated outside that scope.
  2. Calculations: Formulas that describe how values of XML nodes (elements and attributes) in an XML document are calculated from the values of other nodes. For example:
    1. The value of the Tax element is equal to: Total * SalesTaxPercent.
    2. SalesTaxPercent is 0.08 if State=CA, 0.06 if State=NJ, etc.
  3. Properties: Values that you can attach to XML elements and attributes to identify or describe them. For example, attach the property IsIgnored to the CreditCardNumber node when the pay type is cash so that your program knows to skip it in the validation. Properties can be attached by code, or through the XRules <property> rule, or automatically generated based on other rules that apply to the node.

This project is wirtten in C# and extends the .NET XmlDocument class to create DXmlDocument and to add dynamic XML behavior and the capability to process XRules documents.

For more information visit:
XRules Home Page
DynamicDOM API Documentation

Licensed under the DynamicDOM Software License version 1.0.