File indexing completed on 2024-12-29 05:28:01

0001 <?php
0002 /**
0003  * Zend Framework
0004  *
0005  * LICENSE
0006  *
0007  * This source file is subject to the new BSD license that is bundled
0008  * with this package in the file LICENSE.txt.
0009  * It is also available through the world-wide-web at this URL:
0010  * http://framework.zend.com/license/new-bsd
0011  * If you did not receive a copy of the license and are unable to
0012  * obtain it through the world-wide-web, please send an email
0013  * to license@zend.com so we can send you a copy immediately.
0014  *
0015  * @category   Zend
0016  * @package    Zend_Service
0017  * @subpackage Ebay
0018  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
0019  * @license    http://framework.zend.com/license/new-bsd     New BSD License
0020  * @version    $Id: Container.php 22791 2010-08-04 16:11:47Z renanbr $
0021  */
0022 
0023 /**
0024  * @see Zend_Service_Ebay_Finding_Abstract
0025  */
0026 // require_once 'Zend/Service/Ebay/Finding/Abstract.php';
0027 
0028 /**
0029  * @category   Zend
0030  * @package    Zend_Service
0031  * @subpackage Ebay
0032  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
0033  * @license    http://framework.zend.com/license/new-bsd     New BSD License
0034  * @uses       Zend_Service_Ebay_Finding_Abstract
0035  */
0036 class Zend_Service_Ebay_Finding_Aspect_Histogram_Container extends Zend_Service_Ebay_Finding_Abstract
0037 {
0038     /**
0039      * A characteristic of an item in a domain.
0040      *
0041      * For example, "Optical Zoom", "Brand", and "Megapixels" could be aspects
0042      * of the Digital Cameras domain. Aspects are well-known, standardized
0043      * characteristics of a domain, and they vary from domain to domain (the
0044      * aspects of "Men's Shoes" are different from those of "Digital Cameras").
0045      * A search request on the eBay site will often display aspects and their
0046      * respective aspect values on the left-had side of a query response.
0047      *
0048      * Aspects are extracted from item listing properties (such as item titles
0049      * and subtitles), and represent the characteristics of active items. Values
0050      * returned in the Aspect container can be used as inputs to the
0051      * aspectFilter fields in a query to distill the items returned by the
0052      * query. eBay generates aspects dynamically from the items currently
0053      * listed; aspects provide a view into what is currently available on eBay.
0054      * Because of this, aspect values returned one day cannot be guaranteed to
0055      * be valid the next day.
0056      *
0057      * @var Zend_Service_Ebay_Finding_Aspect_Set
0058      */
0059     public $aspect;
0060 
0061     /**
0062      * A buy-side group of items, for example "Shoes.".
0063      *
0064      * Domains are extracted from item listing properties, such as the title,
0065      * descriptions, and so on.
0066      *
0067      * @var string
0068      */
0069     public $domainDisplayName;
0070 
0071     /**
0072      * A buy-side group of items that share aspects, but not necessarily an eBay
0073      * category.
0074      *
0075      * For example "Women's Dresses" or "Digital Cameras" could be domains. You
0076      * can use a domainName to label a set of aspects that you display.
0077      *
0078      * @var string
0079      */
0080     public $domainName;
0081 
0082     /**
0083      * @return void
0084      */
0085     protected function _init()
0086     {
0087         parent::_init();
0088         $ns = Zend_Service_Ebay_Finding::XMLNS_FINDING;
0089 
0090         $this->domainDisplayName = $this->_query(".//$ns:domainDisplayName[1]", 'string');
0091         $this->domainName        = $this->_query(".//$ns:domainName[1]", 'string');
0092 
0093         $this->_attributes['aspect'] = array(
0094             'name' => $this->_query(".//$ns:aspect/@name", 'string', true)
0095         );
0096 
0097         $nodes = $this->_xPath->query(".//$ns:aspect", $this->_dom);
0098         if ($nodes->length > 0) {
0099             /**
0100              * @see Zend_Service_Ebay_Finding_Aspect_Set
0101              */
0102             // require_once 'Zend/Service/Ebay/Finding/Aspect/Set.php';
0103             $this->aspect = new Zend_Service_Ebay_Finding_Aspect_Set($nodes);
0104         }
0105     }
0106 }