Grima  2018-08
Whispering into Alma's ear
Public Member Functions | List of all members
XMLAsArrayOfDOMNodeListsSpecifiedByXPath Class Reference
Inheritance diagram for XMLAsArrayOfDOMNodeListsSpecifiedByXPath:
XMLAsArrayOfWhateversSpecifiedByXPath

Public Member Functions

 offsetExists ( $offset)
 
 offsetGet ( $offset)
 
 offsetSet ( $offset, $value)
 
 offsetUnset ( $offset)
 
- Public Member Functions inherited from XMLAsArrayOfWhateversSpecifiedByXPath
 __construct ( $xml, $context_node)
 
 __toString ()
 
 __get (string $name)
 
 __set (string $name, $value)
 
 __isset (string $name)
 
 __unset (string $name)
 

Additional Inherited Members

- Public Attributes inherited from XMLAsArrayOfWhateversSpecifiedByXPath
 $xml
 
 $context_node
 
- Protected Member Functions inherited from XMLAsArrayOfWhateversSpecifiedByXPath
 query (string $offset)
 

Detailed Description

Definition at line 128 of file grima-xmlbag.php.

Member Function Documentation

◆ offsetExists()

XMLAsArrayOfDOMNodeListsSpecifiedByXPath::offsetExists (   $offset)

Definition at line 129 of file grima-xmlbag.php.

References XMLAsArrayOfWhateversSpecifiedByXPath\query().

129  {
130  return $this->query( $offset )->length > 0; // technically it always exists, but...
131  }

◆ offsetGet()

XMLAsArrayOfDOMNodeListsSpecifiedByXPath::offsetGet (   $offset)

Definition at line 132 of file grima-xmlbag.php.

References XMLAsArrayOfWhateversSpecifiedByXPath\query().

132  {
133  return $this->query( $offset );
134  }

◆ offsetSet()

XMLAsArrayOfDOMNodeListsSpecifiedByXPath::offsetSet (   $offset,
  $value 
)

Definition at line 135 of file grima-xmlbag.php.

References XMLAsArrayOfWhateversSpecifiedByXPath\query().

135  {
136  $nodeList = $this->query( $offset );
137  $cur_length = $nodeList->length;
138  $new_length = $value->length;
139  for( $i = 0 ; $i < min( $cur_length, $new_length ) ; $i++ ) {
140  $cur_node = $nodeList->item($i);
141  $new_node = $value->item($i);
142  $cur_node->parentNode->replaceChild( $new_node, $cur_node );
143  }
144  for( $i = min( $cur_length, $new_length ) ; $i < $cur_length ; $i++ ) {
145  $cur_node = $nodeList->item($i);
146  $cur_node->parentNode->removeChild( $cur_node );
147  }
148  for( $i = min( $cur_length, $new_length ) ; $i < $new_length ; $i++ ) {
149  $new_node = $value->item($i);
150  $this->context_node->appendChild( $new_node );
151  }
152  }

◆ offsetUnset()

XMLAsArrayOfDOMNodeListsSpecifiedByXPath::offsetUnset (   $offset)

Definition at line 153 of file grima-xmlbag.php.

References XMLAsArrayOfWhateversSpecifiedByXPath\query().

153  {
154  $nodeList = $this->query( $offset );
155  $cur_length = $nodeList->length;
156  for( $i = 0 ; $i < $cur_length ; $i++ ) {
157  $cur_node = $nodeList->item($i);
158  $cur_node->parentNode->removeChild( $cur_node );
159  }
160  }

The documentation for this class was generated from the following file: