public override void Load(XmlElement filenode, FilePath baseDirectory)
 {
     foreach (XmlNode node in filenode.ChildNodes)
     {
         if (node is XmlElement)
         {
             template = CreateTemplate((XmlElement)node, baseDirectory) as SingleFileDescriptionTemplate;
             if (template == null)
             {
                 throw new InvalidOperationException("Resource templates must contain single-file templates.");
             }
             var attr = node.Attributes ["CopyToOutputDirectory"];
             if (attr != null)
             {
                 Enum.TryParse <FileCopyMode> (attr.Value, out mode);
             }
             return;
         }
     }
 }
Example #2
0
        public override void Load(XmlElement filenode, FilePath baseDirectory)
        {
            foreach (XmlNode node in filenode.ChildNodes)
            {
                XmlElement elem = node as XmlElement;
                if (elem == null)
                {
                    continue;
                }

                if (elem.Name == "SteticTemplate")
                {
                    if (steticTemplate != null)
                    {
                        throw new InvalidOperationException("Widget templates can't contain more than one SteticTemplate element");
                    }
                    steticTemplate = elem;
                }
                else if (fileTemplate == null)
                {
                    fileTemplate = FileDescriptionTemplate.CreateTemplate(elem, baseDirectory) as SingleFileDescriptionTemplate;
                    if (fileTemplate == null)
                    {
                        throw new InvalidOperationException("Widget templates can only contain single-file and stetic templates.");
                    }
                }
            }
            if (fileTemplate == null)
            {
                throw new InvalidOperationException("File template not found in widget template.");
            }
            if (steticTemplate == null)
            {
                throw new InvalidOperationException("Stetic template not found in widget template.");
            }
        }