Example #1
0
        public static OrmObjectsDef LoadFromXml(XmlReader reader, XmlResolver xmlResolver)
        {
            OrmObjectsDef odef = OrmXmlParser.Parse(reader, xmlResolver);

            odef.CreateSystemComments();
            return(odef);
        }
Example #2
0
        internal protected void FillEntities()
        {
            foreach (EntityDescription entity in _ormObjectsDef.Entities)
            {
                XmlNode entityNode =
                    _ormXmlDocument.DocumentElement.SelectSingleNode(
                        string.Format("{0}:Entities/{0}:Entity[@id='{1}']", OrmCodeGenLib.OrmObjectsDef.NS_PREFIX,
                                      entity.Identifier), _nsMgr);

                XmlElement entityElement = (XmlElement)entityNode;
                string     baseEntityId  = entityElement.GetAttribute("baseEntity");

                if (!string.IsNullOrEmpty(baseEntityId))
                {
                    EntityDescription baseEntity = OrmObjectsDef.GetEntity(baseEntityId);
                    if (baseEntity == null)
                    {
                        throw new OrmXmlParserException(
                                  string.Format("Base entity '{0}' for entity '{1}' not found.", baseEntityId,
                                                entity.Identifier));
                    }
                    entity.BaseEntity = baseEntity;
                }
                FillProperties(entity);
                FillSuppresedProperties(entity);
            }
        }
Example #3
0
 internal protected OrmXmlParser(XmlDocument document)
 {
     _ormObjectsDef  = new OrmObjectsDef();
     _ormXmlDocument = document;
     _nametable      = document.NameTable;
     _nsMgr          = new XmlNamespaceManager(_nametable);
     _nsMgr.AddNamespace(OrmObjectsDef.NS_PREFIX, OrmObjectsDef.NS_URI);
 }
Example #4
0
 internal OrmXmlGenerator(OrmObjectsDef ormObjectsDef, OrmXmlGeneratorSettings settings)
 {
     _ormObjectsDef = ormObjectsDef;
     _nametable     = new NameTable();
     _nsMgr         = new XmlNamespaceManager(_nametable);
     _nsMgr.AddNamespace(OrmObjectsDef.NS_PREFIX, OrmObjectsDef.NS_URI);
     _ormXmlDocumentSet = new OrmXmlDocumentSet();
     _settings          = settings;
 }
Example #5
0
 internal protected OrmXmlParser(XmlReader reader, XmlResolver xmlResolver)
 {
     _validationResult = new List <string>();
     _reader           = reader;
     _ormObjectsDef    = new OrmObjectsDef();
     _nametable        = new NameTable();
     _nsMgr            = new XmlNamespaceManager(_nametable);
     _nsMgr.AddNamespace(OrmObjectsDef.NS_PREFIX, OrmObjectsDef.NS_URI);
     _xmlResolver = xmlResolver;
 }
Example #6
0
        internal static OrmXmlDocumentSet Generate(OrmObjectsDef schema, OrmXmlGeneratorSettings settings)
        {
            OrmXmlGenerator generator;

            generator = new OrmXmlGenerator(schema, settings);

            generator.GenerateXmlDocumentInternal();

            return(generator._ormXmlDocumentSet);
        }
Example #7
0
 private string GetIncludeFileName(OrmObjectsDef objectsDef, OrmObjectsDef incldeObjectsDef, OrmXmlGeneratorSettings settings)
 {
     if (string.IsNullOrEmpty(incldeObjectsDef.FileName))
     {
         string filename =
             settings.IncludeFileNamePattern.Replace("%MAIN_FILENAME%", GetFilename(objectsDef, settings)).
             Replace(
                 "%INCLUDE_NAME%", GetFilename(incldeObjectsDef, settings)) +
             objectsDef.Includes.IndexOf(incldeObjectsDef);
         return
             ((((settings.IncludeBehaviour & IncludeGenerationBehaviour.PlaceInFolder) ==
                IncludeGenerationBehaviour.PlaceInFolder)
                  ? settings.IncludeFolderName + System.IO.Path.DirectorySeparatorChar
                  : string.Empty) + filename);
     }
     else
     {
         return(incldeObjectsDef.FileName);
     }
 }
Example #8
0
 private string GetFilename(OrmObjectsDef objectsDef, OrmXmlGeneratorSettings settings)
 {
     return(string.IsNullOrEmpty(objectsDef.FileName)
                ? settings.DefaultMainFileName
                : objectsDef.FileName);
 }