kernel/classes/datatypes/ezxmltext/handlers/input/ezsimplifiedxmlinputparser.php
function appendLineParagraph( $element, $newParent )
    {
        eZDebugSetting::writeDebug( 'kernel-datatype-ezxmltext', $newParent, 'eZSimplifiedXMLInputParser::appendLineParagraph new parent' );
        $ret = array();
        $parent = $element->parentNode;
        if ( !$parent instanceof DOMElement )
        {
            return $ret;
        }

        $parentName = $parent->nodeName;
        $newParentName = $newParent != null ? $newParent->nodeName : '';

        // Correct structure by adding <line> and <paragraph> tags.
        if ( $parentName == 'line' || $this->XMLSchema->isInline( $parent ) )
        {
            return $ret;
        }

        if ( $newParentName == 'line' )
        {
            $element = $parent->removeChild( $element );
            $newParent->appendChild( $element );
            $newLine = $newParent;
            $ret['result'] = $newParent;
        }
        else if (
            $parentName === 'header'
            && (
                $parent->getElementsByTagName( 'line' )->length
                || $parent->getElementsByTagName( 'br' )->length
            )
        )
        {
            // by default the header element does not need a line element
            // unless it contains a <br> or a previously created <line>
            $newLine = $this->createAndPublishElement( 'line', $ret );
            $element = $parent->replaceChild( $newLine, $element );
            $newLine->appendChild( $element );
            $ret['result'] = $newLine;
        }
        elseif ( $parentName == 'paragraph' )
        {
            $newLine = $this->createAndPublishElement( 'line', $ret );
            $element = $parent->replaceChild( $newLine, $element );
            $newLine->appendChild( $element );
            $ret['result'] = $newLine;
        }
        elseif ( $newParentName == 'paragraph' )
        {
            $newLine = $this->createAndPublishElement( 'line', $ret );
            $element = $parent->removeChild( $element );
            $newParent->appendChild( $newLine );
            $newLine->appendChild( $element );
            $ret['result'] = $newLine;
        }
        elseif ( $this->XMLSchema->check( $parent, 'paragraph' ) )
        {
            $newLine = $this->createAndPublishElement( 'line', $ret );
            $newPara = $this->createAndPublishElement( 'paragraph', $ret );
            $element = $parent->replaceChild( $newPara, $element );
            $newPara->appendChild( $newLine );
            $newLine->appendChild( $element );
            $ret['result'] = $newLine;
        }

        return $ret;
    }
function appendLineParagraph( $element, $newParent )
    {
        eZDebugSetting::writeDebug( 'kernel-datatype-ezxmltext', $newParent, 'eZSimplifiedXMLInputParser::appendLineParagraph new parent' );
        $ret = array();
        $parent = $element->parentNode;
        if ( !$parent instanceof DOMElement )
        {
            return $ret;
        }

        $parentName = $parent->nodeName;
        $newParentName = $newParent != null ? $newParent->nodeName : '';

        // Correct structure by adding <line> and <paragraph> tags.
        if ( $parentName == 'line' || $this->XMLSchema->isInline( $parent ) )
        {
            return $ret;
        }

        if ( $newParentName == 'line' )
        {
            $element = $parent->removeChild( $element );
            $newParent->appendChild( $element );
            $newLine = $newParent;
            $ret['result'] = $newParent;
        }
        else if (
            $parentName === 'header'
            && (
                $parent->getElementsByTagName( 'line' )->length
                || $parent->getElementsByTagName( 'br' )->length
            )
        )
        {
            // by default the header element does not need a line element
            // unless it contains a <br> or a previously created <line>
            $newLine = $this->createAndPublishElement( 'line', $ret );
            $element = $parent->replaceChild( $newLine, $element );
            $newLine->appendChild( $element );
            $ret['result'] = $newLine;
        }
        elseif ( $parentName == 'paragraph' )
        {
            $newLine = $this->createAndPublishElement( 'line', $ret );
            $element = $parent->replaceChild( $newLine, $element );
            $newLine->appendChild( $element );
            $ret['result'] = $newLine;
        }
        elseif ( $newParentName == 'paragraph' )
        {
            $newLine = $this->createAndPublishElement( 'line', $ret );
            $element = $parent->removeChild( $element );
            $newParent->appendChild( $newLine );
            $newLine->appendChild( $element );
            $ret['result'] = $newLine;
        }
        elseif ( $this->XMLSchema->check( $parent, 'paragraph' ) )
        {
            $newLine = $this->createAndPublishElement( 'line', $ret );
            $newPara = $this->createAndPublishElement( 'paragraph', $ret );
            $element = $parent->replaceChild( $newPara, $element );
            $newPara->appendChild( $newLine );
            $newLine->appendChild( $element );
            $ret['result'] = $newLine;
        }

        return $ret;
    }
function appendLineParagraph ( $ element , $ newParent ) { eZDebugSetting :: writeDebug ( 'kernel-datatype-ezxmltext' , $ newParent , 'eZSimplifiedXMLInputParser::appendLineParagraph new parent' ) ; $ ret = array ( ) ; $ parent = $ element -> parentNode ; if ( ! $ parent instanceof DOMElement ) { return $ ret ; } $ parentName = $ parent -> nodeName ; $ newParentName = $ newParent != null ? $ newParent -> nodeName : '' ; // Correct structure by adding <line> and <paragraph> tags. if ( $ parentName == 'line' || $ this -> XMLSchema -> isInline ( $ parent ) ) { return $ ret ; } if ( $ newParentName == 'line' ) { $ element = $ parent -> removeChild ( $ element ) ; $ newParent -> appendChild ( $ element ) ; $ newLine = $ newParent ; $ ret [ 'result' ] = $ newParent ; } else if ( $ parentName === 'header' && ( $ parent -> getElementsByTagName ( 'line' ) -> length || $ parent -> getElementsByTagName ( 'br' ) -> length ) ) { // by default the header element does not need a line element // unless it contains a <br> or a previously created <line> $ newLine = $ this -> createAndPublishElement ( 'line' , $ ret ) ; $ element = $ parent -> replaceChild ( $ newLine , $ element ) ; $ newLine -> appendChild ( $ element ) ; $ ret [ 'result' ] = $ newLine ; } elseif ( $ parentName == 'paragraph' ) { $ newLine = $ this -> createAndPublishElement ( 'line' , $ ret ) ; $ element = $ parent -> replaceChild ( $ newLine , $ element ) ; $ newLine -> appendChild ( $ element ) ; $ ret [ 'result' ] = $ newLine ; } elseif ( $ newParentName == 'paragraph' ) { $ newLine = $ this -> createAndPublishElement ( 'line' , $ ret ) ; $ element = $ parent -> removeChild ( $ element ) ; $ newParent -> appendChild ( $ newLine ) ; $ newLine -> appendChild ( $ element ) ; $ ret [ 'result' ] = $ newLine ; } elseif ( $ this -> XMLSchema -> check ( $ parent , 'paragraph' ) ) { $ newLine = $ this -> createAndPublishElement ( 'line' , $ ret ) ; $ newPara = $ this -> createAndPublishElement ( 'paragraph' , $ ret ) ; $ element = $ parent -> replaceChild ( $ newPara , $ element ) ; $ newPara -> appendChild ( $ newLine ) ; $ newLine -> appendChild ( $ element ) ; $ ret [ 'result' ] = $ newLine ; } return $ ret ; }
Structure handler for inline nodes.
Structure handler for inline nodes .