/**
  * Creates a subscription description with specified XML string. 
  *
  * @param string $subscriptionDescriptionXml An XML based subscription
  *                                           description.
  *
  * @return none
  */
 public static function create($subscriptionDescriptionXml)
 {
     $subscriptionDescription = new self();
     $root = simplexml_load_string($subscriptionDescriptionXml);
     $subscriptionDescriptionArray = (array) $root;
     if (array_key_exists('LockDuration', $subscriptionDescriptionArray)) {
         $subscriptionDescription->setLockDuration((string) $subscriptionDescriptionArray['LockDuration']);
     }
     if (array_key_exists('RequiresSession', $subscriptionDescriptionArray)) {
         $subscriptionDescription->setRequiresSession((bool) $subscriptionDescriptionArray['RequiresSession']);
     }
     if (array_key_exists('DefaultMessageTimeToLive', $subscriptionDescriptionArray)) {
         $subscriptionDescription->setDefaultMessageTimeToLive((string) $subscriptionDescriptionArray['DefaultMessageTimeToLive']);
     }
     if (array_key_exists('DeadLetteringOnMessageExpiration', $subscriptionDescriptionArray)) {
         $subscriptionDescription->setDeadLetteringOnMessageExpiration((string) $subscriptionDescriptionArray['DeadLetteringOnMessageExpiration']);
     }
     if (array_key_exists('DeadLetteringOnFilterEvaluationException', $subscriptionDescriptionArray)) {
         $subscriptionDescription->setDeadLetteringOnFilterEvaluationException((string) $subscriptionDescriptionArray['DeadLetteringOnFilterEvaluationException']);
     }
     if (array_key_exists('DefaultRuleDescription', $subscriptionDescriptionArray)) {
         $subscriptionDescription->setDefaultRuleDescription((string) $subscriptionDescriptionArray['DefaultRuleDescription']);
     }
     if (array_key_exists('MessageCount', $subscriptionDescriptionArray)) {
         $subscriptionDescription->setMessageCount((string) $subscriptionDescriptionArray['MessageCount']);
     }
     if (array_key_exists('MaxDeliveryCount', $subscriptionDescriptionArray)) {
         $subscriptionDescription->setMaxDeliveryCount((string) $subscriptionDescriptionArray['MaxDeliveryCount']);
     }
     if (array_key_exists('EnableBatchedOperations', $subscriptionDescriptionArray)) {
         $subscriptionDescription->setEnableBatchedOperations((bool) $subscriptionDescriptionArray['EnableBatchedOperations']);
     }
     return $subscriptionDescription;
 }
 /**
  * Creates a queue description object with specified XML string.
  *
  * @param string $queueDescriptionXml A XML based string describing
  *                                    the queue. 
  * 
  * @return none
  */
 public static function create($queueDescriptionXml)
 {
     $queueDescription = new self();
     $root = simplexml_load_string($queueDescriptionXml);
     $queueDescriptionArray = (array) $root;
     if (array_key_exists('LockDuration', $queueDescriptionArray)) {
         $queueDescription->setLockDuration((string) $queueDescriptionArray['LockDuration']);
     }
     if (array_key_exists('MaxSizeInMegabytes', $queueDescriptionArray)) {
         $queueDescription->setMaxSizeInMegabytes((int) $queueDescriptionArray['MaxSizeInMegabytes']);
     }
     if (array_key_exists('RequiresDuplicateDetection', $queueDescriptionArray)) {
         $queueDescription->setRequiresDuplicateDetection((bool) $queueDescriptionArray['RequiresDuplicateDetection']);
     }
     if (array_key_exists('RequiresSession', $queueDescriptionArray)) {
         $queueDescription->setRequiresSession((bool) $queueDescriptionArray['RequiresSession']);
     }
     if (array_key_exists('DefaultMessageTimeToLive', $queueDescriptionArray)) {
         $queueDescription->setDefaultMessageTimeToLive((string) $queueDescriptionArray['DefaultMessageTimeToLive']);
     }
     if (array_key_exists('DeadLetteringOnMessageExpiration', $queueDescriptionArray)) {
         $queueDescription->setDeadLetteringOnMessageExpiration((string) $queueDescriptionArray['DeadLetteringOnMessageExpiration']);
     }
     if (array_key_exists('DuplicateDetectionHistoryTimeWindow', $queueDescriptionArray)) {
         $queueDescription->setDuplicateDetectionHistoryTimeWindow((string) $queueDescriptionArray['DuplicateDetectionHistoryTimeWindow']);
     }
     if (array_key_exists('MaxDeliveryCount', $queueDescriptionArray)) {
         $queueDescription->setMaxDeliveryCount((int) $queueDescriptionArray['MaxDeliveryCount']);
     }
     if (array_key_exists('EnableBatchedOperations', $queueDescriptionArray)) {
         $queueDescription->setEnableBatchedOperations((bool) $queueDescriptionArray['EnableBatchedOperations']);
     }
     if (array_key_exists('SizeInBytes', $queueDescriptionArray)) {
         $queueDescription->setSizeInBytes((int) $queueDescriptionArray['SizeInBytes']);
     }
     if (array_key_exists('MessageCount', $queueDescriptionArray)) {
         $queueDescription->setMessageCount((int) $queueDescriptionArray['MessageCount']);
     }
     return $queueDescription;
 }