예제 #1
0
파일: EntryTest.php 프로젝트: rexmac/zf2
 public function testLookupNamespaceObeysParentBehavior()
 {
     $prefix = 'test';
     $testString10 = 'TEST-v1-0';
     $testString20 = 'TEST-v2-0';
     $testString11 = 'TEST-v1-1';
     $testString21 = 'TEST-v2-1';
     $testString12 = 'TEST-v1-2';
     $testString22 = 'TEST-v2-2';
     App\Base::flushNamespaceLookupCache();
     $entry = $this->service->newEntry();
     $entry->registerNamespace($prefix, $testString10, 1, 0);
     $entry->registerNamespace($prefix, $testString20, 2, 0);
     $entry->registerNamespace($prefix, $testString11, 1, 1);
     $entry->registerNamespace($prefix, $testString21, 2, 1);
     $entry->registerNamespace($prefix, $testString12, 1, 2);
     $entry->registerNamespace($prefix, $testString22, 2, 2);
     // Assumes default version (1)
     $result = $entry->lookupNamespace($prefix, 1, null);
     $this->assertEquals($testString12, $result);
     $result = $entry->lookupNamespace($prefix, 2, null);
     $this->assertEquals($testString22, $result);
     $result = $entry->lookupNamespace($prefix, 1, 1);
     $this->assertEquals($testString11, $result);
     $result = $entry->lookupNamespace($prefix, 2, 1);
     $this->assertEquals($testString21, $result);
     $result = $entry->lookupNamespace($prefix, null, null);
     $this->assertEquals($testString12, $result);
     $result = $entry->lookupNamespace($prefix, null, 1);
     $this->assertEquals($testString11, $result);
     // Override to retrieve latest version
     $entry->setMajorProtocolVersion(null);
     $result = $entry->lookupNamespace($prefix, null, null);
     $this->assertEquals($testString22, $result);
     $result = $entry->lookupNamespace($prefix, null, 1);
     $this->assertEquals($testString21, $result);
 }
예제 #2
0
    /**
     * Get the full version of a namespace prefix
     *
     * Looks up a prefix (atom:, etc.) in the list of registered
     * namespaces and returns the full namespace URI if
     * available. Returns the prefix, unmodified, if it's not
     * registered.
     *
     * The current entry or feed's version will be used when performing the
     * namespace lookup unless overridden using $majorVersion and
     * $minorVersion. If the entry/fee has a null version, then the latest
     * protocol version will be used by default.
     *
     * @param string $prefix The namespace prefix to lookup.
     * @param integer $majorVersion The major protocol version in effect.
     *        Defaults to null (auto-select).
     * @param integer $minorVersion The minor protocol version in effect.
     *        Defaults to null (auto-select).
     * @return string
     */
    public function lookupNamespace($prefix,
                                    $majorVersion = null,
                                    $minorVersion = null)
    {
        // Auto-select current version
        if ($majorVersion === null) {
            $majorVersion = $this->getMajorProtocolVersion();
        }
        if ($minorVersion === null) {
            $minorVersion = $this->getMinorProtocolVersion();
        }

        // Perform lookup
        return parent::lookupNamespace($prefix, $majorVersion, $minorVersion);
    }
예제 #3
0
파일: Error.php 프로젝트: rafalwrzeszcz/zf2
 /**
  * Given a DOMNode representing an attribute, tries to map the data into
  * instance members.  If no mapping is defined, the name and value are
  * stored in an array.
  *
  * @param DOMNode $attribute The DOMNode attribute needed to be handled
  */
 protected function takeAttributeFromDOM($attribute)
 {
     switch ($attribute->localName) {
         case 'errorCode':
             $this->_errorCode = $attribute->nodeValue;
             break;
         case 'reason':
             $this->_reason = $attribute->nodeValue;
             break;
         case 'invalidInput':
             $this->_invalidInput = $attribute->nodeValue;
             break;
         default:
             parent::takeAttributeFromDOM($attribute);
     }
 }