public void AddPropertyNode(XmlNode aRootNode, PropertyDefinitionAttribute aProperty) { XmlNode lNode = aRootNode.OwnerDocument.CreateNode("element", "xs:element", ""); aRootNode.AppendChild(lNode); AddAttribute(lNode, "name", aProperty.PropertyName); AddAttribute(lNode, "type", "msb:StringPropertyType"); AddAttribute(lNode, "substitutionGroup", "msb:Property"); AddAnnotationNode(lNode, aProperty.Description); }
public void GetMSBuildProperties(object[] aAssemblyAttributes, PropertyDefinitionList aPropertyList, ItemDefinitionList aItemList) { if (aPropertyList == null) { throw new ArgumentNullException("PropertyList parameter is null"); } if (aItemList == null) { throw new ArgumentNullException("ItemList parameter is null"); } if (aAssemblyAttributes == null) { return; } Dictionary <string, ItemDefinitionContainer> lItemContainerDictionary = new Dictionary <string, ItemDefinitionContainer>(); List <ItemMetadataDefinitionAttribute> lItemMetadataList = new List <ItemMetadataDefinitionAttribute>(); foreach (object lObj in aAssemblyAttributes) { PropertyDefinitionAttribute lProperty = lObj as PropertyDefinitionAttribute; ItemDefinitionAttribute lItem = lObj as ItemDefinitionAttribute; ItemMetadataDefinitionAttribute lItemMetadata = lObj as ItemMetadataDefinitionAttribute; if (lProperty != null) { aPropertyList.Add(lProperty); } if (lItem != null) { ItemDefinitionContainer lContainer = new ItemDefinitionContainer(lItem); aItemList.Add(lContainer); lItemContainerDictionary.Add(lItem.PropertyName, lContainer); } if (lItemMetadata != null) { lItemMetadataList.Add(lItemMetadata); } } // now add all the meta data with the ItemGroup foreach (ItemMetadataDefinitionAttribute lItemMetadata in lItemMetadataList) { if (lItemContainerDictionary.ContainsKey(lItemMetadata.PropertyName)) { lItemContainerDictionary[lItemMetadata.PropertyName].ItemMetadataDefinitionList.Add(lItemMetadata); } } }