Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Parser.php
Go to the documentation of this file.
1 <?php
7 
11 
15 class Parser
16 {
20  private $converter;
21 
28  public function parse(\DOMNode $argumentNode)
29  {
30  // Base path is specified to use more meaningful XPaths in config
31  return $this->getConverter()->convert($argumentNode, 'argument');
32  }
33 
39  protected function getConverter()
40  {
41  if (!$this->converter) {
42  $arrayNodeConfig = new ArrayNodeConfig(
43  new NodePathMatcher(),
44  [
45  'argument/param' => 'name',
46  'argument(/item)+' => 'name',
47  'argument(/item)+/param' => 'name',
48  'argument(/argument)+' => 'name',
49  'argument((/argument)+(/item)+)+' => 'name',
50  'argument((/argument)+(/item)+)+/param' => 'name'
51  ],
52  ['argument/updater']
53  );
54  $this->converter = new FlatConverter($arrayNodeConfig);
55  }
56  return $this->converter;
57  }
58 }