original_string: function toXML($encoding = "UTF-8", $indent = true, $single = true)
      {
          $this->marcxml->setIndent($indent);
          if ($single) {
              $this->marcxml->startElement("collection");
              $this->marcxml->writeAttribute("xmlns", "http://www.loc.gov/MARC21/slim");
              $this->marcxml->startElement("record");
          } else {
              $this->marcxml->startElement("record");
              $this->marcxml->writeAttribute("xmlns", "http://www.loc.gov/MARC21/slim");
          }
          
  
          // MARCXML schema has some strict requirements
          // We'll set reasonable defaults to avoid invalid MARCXML
          $xmlLeader = $this->getLeader();
  
          // Record status
          if ($xmlLeader[5] == " ") {
              // Default to "n" (new record)
              $xmlLeader[5] = "n";
          }
  
          // Type of record
          if ($xmlLeader[6] == " ") {
              // Default to "a" (language material)
              $xmlLeader[6] = "a";
          }
  
          $this->marcxml->writeElement("leader", $xmlLeader);
  
          foreach ($this->fields as $field) {
              if (!$field->isEmpty()) {
                  switch(get_class($field)) {
                  case "File_MARC_Control_Field":
                      $this->marcxml->startElement("controlfield");
                      $this->marcxml->writeAttribute("tag", $field->getTag());
                      $this->marcxml->text($field->getData());
                      $this->marcxml->endElement(); // end control field
                      break;
  
                  case "File_MARC_Data_Field":
                      $this->marcxml->startElement("datafield");
                      $this->marcxml->writeAttribute("tag", $field->getTag());
                      $this->marcxml->writeAttribute("ind1", $field->getIndicator(1));
                      $this->marcxml->writeAttribute("ind2", $field->getIndicator(2));
                      foreach ($field->getSubfields() as $subfield) {
                          $this->marcxml->startElement("subfield");
                          $this->marcxml->writeAttribute("code", $subfield->getCode());
                          $this->marcxml->text($subfield->getData());
                          $this->marcxml->endElement(); // end subfield
                      }
                      $this->marcxml->endElement(); // end data field
                      break;
                  }
              }
          }
  
          $this->marcxml->endElement(); // end record
          if ($single) {
              $this->marcxml->endElement(); // end collection
              $this->marcxml->endDocument();
          }
          return $this->marcxml->outputMemory();
      }
code: function toXML($encoding = "UTF-8", $indent = true, $single = true)
      {
          $this->marcxml->setIndent($indent);
          if ($single) {
              $this->marcxml->startElement("collection");
              $this->marcxml->writeAttribute("xmlns", "http://www.loc.gov/MARC21/slim");
              $this->marcxml->startElement("record");
          } else {
              $this->marcxml->startElement("record");
              $this->marcxml->writeAttribute("xmlns", "http://www.loc.gov/MARC21/slim");
          }
          
  
          // MARCXML schema has some strict requirements
          // We'll set reasonable defaults to avoid invalid MARCXML
          $xmlLeader = $this->getLeader();
  
          // Record status
          if ($xmlLeader[5] == " ") {
              // Default to "n" (new record)
              $xmlLeader[5] = "n";
          }
  
          // Type of record
          if ($xmlLeader[6] == " ") {
              // Default to "a" (language material)
              $xmlLeader[6] = "a";
          }
  
          $this->marcxml->writeElement("leader", $xmlLeader);
  
          foreach ($this->fields as $field) {
              if (!$field->isEmpty()) {
                  switch(get_class($field)) {
                  case "File_MARC_Control_Field":
                      $this->marcxml->startElement("controlfield");
                      $this->marcxml->writeAttribute("tag", $field->getTag());
                      $this->marcxml->text($field->getData());
                      $this->marcxml->endElement(); // end control field
                      break;
  
                  case "File_MARC_Data_Field":
                      $this->marcxml->startElement("datafield");
                      $this->marcxml->writeAttribute("tag", $field->getTag());
                      $this->marcxml->writeAttribute("ind1", $field->getIndicator(1));
                      $this->marcxml->writeAttribute("ind2", $field->getIndicator(2));
                      foreach ($field->getSubfields() as $subfield) {
                          $this->marcxml->startElement("subfield");
                          $this->marcxml->writeAttribute("code", $subfield->getCode());
                          $this->marcxml->text($subfield->getData());
                          $this->marcxml->endElement(); // end subfield
                      }
                      $this->marcxml->endElement(); // end data field
                      break;
                  }
              }
          }
  
          $this->marcxml->endElement(); // end record
          if ($single) {
              $this->marcxml->endElement(); // end collection
              $this->marcxml->endDocument();
          }
          return $this->marcxml->outputMemory();
      }
code_tokens: function toXML ( $ encoding = "UTF-8" , $ indent = true , $ single = true ) { $ this -> marcxml -> setIndent ( $ indent ) ; if ( $ single ) { $ this -> marcxml -> startElement ( "collection" ) ; $ this -> marcxml -> writeAttribute ( "xmlns" , "http://www.loc.gov/MARC21/slim" ) ; $ this -> marcxml -> startElement ( "record" ) ; } else { $ this -> marcxml -> startElement ( "record" ) ; $ this -> marcxml -> writeAttribute ( "xmlns" , "http://www.loc.gov/MARC21/slim" ) ; } // MARCXML schema has some strict requirements // We'll set reasonable defaults to avoid invalid MARCXML $ xmlLeader = $ this -> getLeader ( ) ; // Record status if ( $ xmlLeader [ 5 ] == " " ) { // Default to "n" (new record) $ xmlLeader [ 5 ] = "n" ; } // Type of record if ( $ xmlLeader [ 6 ] == " " ) { // Default to "a" (language material) $ xmlLeader [ 6 ] = "a" ; } $ this -> marcxml -> writeElement ( "leader" , $ xmlLeader ) ; foreach ( $ this -> fields as $ field ) { if ( ! $ field -> isEmpty ( ) ) { switch ( get_class ( $ field ) ) { case "File_MARC_Control_Field" : $ this -> marcxml -> startElement ( "controlfield" ) ; $ this -> marcxml -> writeAttribute ( "tag" , $ field -> getTag ( ) ) ; $ this -> marcxml -> text ( $ field -> getData ( ) ) ; $ this -> marcxml -> endElement ( ) ; // end control field break ; case "File_MARC_Data_Field" : $ this -> marcxml -> startElement ( "datafield" ) ; $ this -> marcxml -> writeAttribute ( "tag" , $ field -> getTag ( ) ) ; $ this -> marcxml -> writeAttribute ( "ind1" , $ field -> getIndicator ( 1 ) ) ; $ this -> marcxml -> writeAttribute ( "ind2" , $ field -> getIndicator ( 2 ) ) ; foreach ( $ field -> getSubfields ( ) as $ subfield ) { $ this -> marcxml -> startElement ( "subfield" ) ; $ this -> marcxml -> writeAttribute ( "code" , $ subfield -> getCode ( ) ) ; $ this -> marcxml -> text ( $ subfield -> getData ( ) ) ; $ this -> marcxml -> endElement ( ) ; // end subfield } $ this -> marcxml -> endElement ( ) ; // end data field break ; } } } $ this -> marcxml -> endElement ( ) ; // end record if ( $ single ) { $ this -> marcxml -> endElement ( ) ; // end collection $ this -> marcxml -> endDocument ( ) ; } return $ this -> marcxml -> outputMemory ( ) ; }
docstring: Return the MARC record in MARCXML format
  
  This method produces an XML representation of a MARC record that
  attempts to adhere to the MARCXML standard documented at
  http://www.loc.gov/standards/marcxml/
  
  @param string $encoding output encoding for the MARCXML record
  @param bool   $indent   pretty-print the MARCXML record
  @param bool   $single   wrap the <record> element in a <collection> element
  
  @return string          representation of MARC record in MARCXML format
  
  @todo Fix encoding input / output issues (PHP 6.0 required?)
docstring_tokens: Return the MARC record in MARCXML format