ILIAS  trunk Revision v12.0_alpha-1227-g7ff6d300864
ilLearningSequenceXMLParser Class Reference
+ Inheritance diagram for ilLearningSequenceXMLParser:
+ Collaboration diagram for ilLearningSequenceXMLParser:

Public Member Functions

 __construct (protected ilObjLearningSequence $obj, string $xml)
 
 start ()
 
 setHandlers ($a_xml_parser)
 
 handleBeginTag ( $parser, string $name, array $attributes)
 
 handleEndTag ($parser, string $name)
 
 handleCharacterData ($parser, $data)
 
- Public Member Functions inherited from ilSaxParser
 __construct (?string $path_to_file='', ?bool $throw_exception=false)
 
 setXMLContent (string $a_xml_content)
 
 getXMLContent ()
 
 getInputType ()
 
 startParsing ()
 stores xml data in array More...
 
 createParser ()
 
 setHandlers ($a_xml_parser)
 
 parse ($a_xml_parser, $a_fp=null)
 

Protected Attributes

array $object
 
array $ls_item_data
 
array $settings
 
array $lp_settings
 
int $counter
 
string $actual_name
 
string $cdata = ''
 
string $current_container_setting = ''
 
- Protected Attributes inherited from ilSaxParser
ilLanguage $lng = null
 

Additional Inherited Members

- Data Fields inherited from ilSaxParser
string $xml_file
 
bool $throw_exception = false
 
- Protected Member Functions inherited from ilSaxParser
 openXMLFile ()
 
 handleError (string $message)
 
 setThrowException (bool $throw_exception)
 

Detailed Description

Definition at line 23 of file class.ilLearningSequenceXMLParser.php.

Constructor & Destructor Documentation

◆ __construct()

ilLearningSequenceXMLParser::__construct ( protected ilObjLearningSequence  $obj,
string  $xml 
)

Definition at line 49 of file class.ilLearningSequenceXMLParser.php.

52 {
54
55 $this->setXMLContent($xml);
56
57 $this->object = [];
58 $this->ls_item_data = [];
59 $this->settings = [];
60 $this->lp_settings = [];
61 $this->lp_settings["lp_item_ref_ids"] = [];
62 $this->counter = 0;
63 }
setXMLContent(string $a_xml_content)
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

References ILIAS\GlobalScreen\Provider\__construct(), ILIAS\Repository\settings(), and ilSaxParser\setXMLContent().

+ Here is the call graph for this function:

Member Function Documentation

◆ handleBeginTag()

ilLearningSequenceXMLParser::handleBeginTag (   $parser,
string  $name,
array  $attributes 
)

Definition at line 86 of file class.ilLearningSequenceXMLParser.php.

90 : void {
91 $this->actual_name = $name;
92
93 switch ($name) {
94 case Writer::TAG_LSO:
95 $this->object["ref_id"] = $attributes["ref_id"];
96 $this->settings["members_gallery"] = $attributes['members_gallery'];
97 break;
98 case Writer::TAG_LPSETTING:
99 $this->lp_settings["lp_type"] = $attributes['type'];
100 $this->lp_settings["lp_mode"] = $attributes['mode'];
101 $this->lp_settings["lp_item_ref_ids"] = [];
102 break;
103
104 case Writer::TAG_LSITEM:
105 $this->counter = (int) $attributes["ref_id"];
106 $this->ls_item_data[$this->counter]["ref_id"] = $attributes["ref_id"];
107 if (isset($attributes["position"])) {
108 $this->ls_item_data[$this->counter]["position"] = $attributes["position"];
109 }
110 break;
111
112 case Writer::TAG_CONDITION:
113 $this->ls_item_data[$this->counter]["condition_type"] = $attributes["type"];
114 $this->ls_item_data[$this->counter]["condition_value"] = '';
115 break;
116
117 case Writer::TAG_CONTAINERSETTING:
118 $this->current_container_setting = $attributes['id'];
119 break;
120
121 default:
122 break;
123 }
124 }

References $counter, ILIAS\Repository\int(), and ILIAS\Repository\settings().

Referenced by setHandlers().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleCharacterData()

ilLearningSequenceXMLParser::handleCharacterData (   $parser,
  $data 
)

Definition at line 159 of file class.ilLearningSequenceXMLParser.php.

159 : void
160 {
161 $this->cdata .= ($data ?? "");
162 }

References $data.

Referenced by setHandlers().

+ Here is the caller graph for this function:

◆ handleEndTag()

ilLearningSequenceXMLParser::handleEndTag (   $parser,
string  $name 
)

Definition at line 126 of file class.ilLearningSequenceXMLParser.php.

126 : void
127 {
128 $this->cdata = trim($this->cdata);
129
130 switch ($name) {
131 case Writer::TAG_LPREFID:
132 $this->lp_settings["lp_item_ref_ids"][] = trim($this->cdata);
133 break;
134 case Writer::TAG_CONTAINERSETTING:
135 if ($this->current_container_setting) {
137 $this->obj->getId(),
138 $this->current_container_setting,
139 trim($this->cdata)
140 );
141 }
142 break;
143
144 case Writer::TAG_TITLE:
145 $this->obj->setTitle(trim($this->cdata));
146 break;
147
148 case Writer::TAG_DESCRIPTION:
149 $this->obj->setDescription(trim($this->cdata));
150 break;
151
152 default:
153 break;
154 }
155
156 $this->cdata = '';
157 }
static _writeContainerSetting(int $a_id, string $a_keyword, string $a_value)

References ilContainer\_writeContainerSetting().

Referenced by setHandlers().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setHandlers()

ilLearningSequenceXMLParser::setHandlers (   $a_xml_parser)
Parameters
XMLParser | resource$a_xml_parser
Returns
void

Reimplemented from ilSaxParser.

Definition at line 80 of file class.ilLearningSequenceXMLParser.php.

80 : void
81 {
82 xml_set_element_handler($a_xml_parser, $this->handleBeginTag(...), $this->handleEndTag(...));
83 xml_set_character_data_handler($a_xml_parser, $this->handleCharacterData(...));
84 }
handleBeginTag( $parser, string $name, array $attributes)

References handleBeginTag(), handleCharacterData(), and handleEndTag().

+ Here is the call graph for this function:

◆ start()

ilLearningSequenceXMLParser::start ( )
Returns
array<string, mixed>

Definition at line 68 of file class.ilLearningSequenceXMLParser.php.

68 : array
69 {
70 $this->startParsing();
71 $ret = [];
72 $ret["object"] = $this->object;
73 $ret["item_data"] = $this->ls_item_data;
74 $ret["settings"] = $this->settings;
75 $ret["lp_settings"] = $this->lp_settings;
76
77 return $ret;
78 }
startParsing()
stores xml data in array

References $lp_settings, $ls_item_data, $object, $settings, and ilSaxParser\startParsing().

+ Here is the call graph for this function:

Field Documentation

◆ $actual_name

string ilLearningSequenceXMLParser::$actual_name
protected

Definition at line 45 of file class.ilLearningSequenceXMLParser.php.

◆ $cdata

string ilLearningSequenceXMLParser::$cdata = ''
protected

Definition at line 46 of file class.ilLearningSequenceXMLParser.php.

◆ $counter

int ilLearningSequenceXMLParser::$counter
protected

Definition at line 44 of file class.ilLearningSequenceXMLParser.php.

Referenced by handleBeginTag().

◆ $current_container_setting

string ilLearningSequenceXMLParser::$current_container_setting = ''
protected

Definition at line 47 of file class.ilLearningSequenceXMLParser.php.

◆ $lp_settings

array ilLearningSequenceXMLParser::$lp_settings
protected

Definition at line 43 of file class.ilLearningSequenceXMLParser.php.

Referenced by start().

◆ $ls_item_data

array ilLearningSequenceXMLParser::$ls_item_data
protected

Definition at line 33 of file class.ilLearningSequenceXMLParser.php.

Referenced by start().

◆ $object

array ilLearningSequenceXMLParser::$object
protected

Definition at line 28 of file class.ilLearningSequenceXMLParser.php.

Referenced by start().

◆ $settings

array ilLearningSequenceXMLParser::$settings
protected

Definition at line 38 of file class.ilLearningSequenceXMLParser.php.

Referenced by start().


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