XMLWriter::writeAttributeNS does not correctly deal with null values for the namespaceUri.
- Lenguaje dominante
- C++
- Estrellas
- 18.7k
- Forks
- 3.1k
- Merge medio
- 1 h 47 min
- PR fusionados (30 d)
- 2
Descripción
### Example 1: attribute is dropped
``` php
openMemory();
$xmlWriter->startDocument();
$xmlWriter->startElementNS('s', 'root', 'http://sabre.io/ns');
$xmlWriter->writeAttributeNS('s', 'foo', null, 'bar');
$xmlWriter->endElement();
echo $xmlWriter->outputMemory(), "\n";
```
Vanilla PHP output:
``` xml
```
HHVM output:
``` xml
```
### Example 2: extra xmlns declaration with empty string
``` php
openMemory();
$xmlWriter->startDocument();
$xmlWriter->startElementNS('s', 'root', 'http://sabre.io/ns');
$xmlWriter->startElementNS('s', 'child', null);
$xmlWriter->writeAttributeNS('s', 'foo', null, 'bar');
$xmlWriter->endElement();
$xmlWriter->endElement();
echo $xmlWriter->outputMemory(), "\n";
```
Vanilla PHP output:
``` xml
```
HHVM output:
``` xml
```
Interesting to note that PHP also had the same issue up until PHP 5.2.2, according to 3v4l.
### Workaround
Instead of calling:
``` php
$xmlWriter->writeAttributeNS('s', 'foo', null, 'bar');
```
It's possible to just call:
``` php
$xmlWriter->writeAttributeNS('s:foo', 'bar');
```
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.