home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Darbas / kidoz_v1.air / kidoz.swf / scripts / mx / rpc / xml / SchemaProcessor.as < prev    next >
Encoding:
Text File  |  2009-05-06  |  3.4 KB  |  131 lines

  1. package mx.rpc.xml
  2. {
  3.    import mx.utils.URLUtil;
  4.    import mx.utils.object_proxy;
  5.    
  6.    use namespace object_proxy;
  7.    
  8.    public class SchemaProcessor
  9.    {
  10.       private var _schemaManager:SchemaManager;
  11.       
  12.       protected var strictOccurenceBounds:Boolean = false;
  13.       
  14.       public function SchemaProcessor()
  15.       {
  16.          super();
  17.       }
  18.       
  19.       protected function getMinOccurs(param1:XML) : uint
  20.       {
  21.          var _loc2_:uint = 1;
  22.          var _loc3_:String = getAttributeFromNode("minOccurs",param1);
  23.          if(_loc3_ != null)
  24.          {
  25.             _loc2_ = parseInt(_loc3_);
  26.          }
  27.          return _loc2_;
  28.       }
  29.       
  30.       protected function getSingleElementFromNode(param1:XML, ... rest) : XML
  31.       {
  32.          var _loc4_:XML = null;
  33.          var _loc5_:QName = null;
  34.          var _loc3_:XMLList = param1.elements();
  35.          for each(_loc4_ in _loc3_)
  36.          {
  37.             if(!(rest != null && rest.length > 0))
  38.             {
  39.                return _loc4_;
  40.             }
  41.             for each(_loc5_ in rest)
  42.             {
  43.                if(_loc4_.name() == _loc5_)
  44.                {
  45.                   return _loc4_;
  46.                }
  47.             }
  48.          }
  49.          return null;
  50.       }
  51.       
  52.       public function get schemaManager() : SchemaManager
  53.       {
  54.          if(_schemaManager == null)
  55.          {
  56.             _schemaManager = new SchemaManager();
  57.          }
  58.          return _schemaManager;
  59.       }
  60.       
  61.       protected function get constants() : SchemaConstants
  62.       {
  63.          return schemaManager.schemaConstants;
  64.       }
  65.       
  66.       protected function getAttributeFromNode(param1:*, param2:XML) : String
  67.       {
  68.          var _loc3_:String = null;
  69.          var _loc4_:XMLList = null;
  70.          if(param2 != null)
  71.          {
  72.             _loc4_ = param2.attribute(param1);
  73.             if(_loc4_.length() > 0)
  74.             {
  75.                _loc3_ = _loc4_[0];
  76.             }
  77.          }
  78.          return _loc3_;
  79.       }
  80.       
  81.       public function isBuiltInType(param1:QName) : Boolean
  82.       {
  83.          var _loc2_:String = param1 != null ? param1.uri : null;
  84.          if(_loc2_ != null)
  85.          {
  86.             if(URLUtil.urisEqual(_loc2_,SchemaConstants.XSD_URI_1999) || URLUtil.urisEqual(_loc2_,SchemaConstants.XSD_URI_2000) || URLUtil.urisEqual(_loc2_,SchemaConstants.XSD_URI_2001))
  87.             {
  88.                return true;
  89.             }
  90.          }
  91.          return false;
  92.       }
  93.       
  94.       protected function getMaxOccurs(param1:XML) : uint
  95.       {
  96.          var _loc2_:uint = 1;
  97.          var _loc3_:String = getAttributeFromNode("maxOccurs",param1);
  98.          if(_loc3_ != null)
  99.          {
  100.             _loc2_ = _loc3_ == "unbounded" ? uint.MAX_VALUE : uint(parseInt(_loc3_));
  101.          }
  102.          return _loc2_;
  103.       }
  104.       
  105.       public function reset() : void
  106.       {
  107.          schemaManager.reset();
  108.       }
  109.       
  110.       public function set schemaManager(param1:SchemaManager) : void
  111.       {
  112.          _schemaManager = param1;
  113.       }
  114.       
  115.       public function getValueOccurence(param1:*) : uint
  116.       {
  117.          var _loc2_:uint = 1;
  118.          if(param1 != null && TypeIterator.isIterable(param1))
  119.          {
  120.             _loc2_ = TypeIterator.getLength(param1);
  121.          }
  122.          else if(param1 === undefined)
  123.          {
  124.             _loc2_ = 0;
  125.          }
  126.          return _loc2_;
  127.       }
  128.    }
  129. }
  130.  
  131.