RomaricDrigon\MetaYaml\XsdNodeGenerator\XsdTextNodeGenerator::build PHP Метод

build() публичный Метод

public build ( $name, $node, XMLWriter &$writer, $under_root )
$writer XMLWriter
    public function build($name, $node, \XMLWriter &$writer, $under_root)
    {
        // always inside an xsd:element
        $writer->startElementNs('xsd', 'element', null);
        $writer->writeAttribute('name', $name);
        $this->addRequired($node, $writer, $under_root);
        // there are not way to represent a strict string
        if ($this->addNotEmpty($node, $writer) === false) {
            $writer->writeAttribute('type', 'xsd:normalizedString');
        }
        $writer->endElement();
    }

Usage Example

 public function testNotEmpty()
 {
     $this->if($xsd_generator = new XsdGenerator())->and($object = new testedClass($xsd_generator))->and($writer = new \XMLWriter())->and($writer->openMemory())->then->variable($object->build('test', array('_not_empty' => true), $writer, false))->isNull()->string($writer->outputMemory())->isEqualTo('<xsd:element name="test" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:normalizedString">' . '<xsd:minLength value="200"/></xsd:restriction></xsd:simpleType></xsd:element>');
 }
XsdTextNodeGenerator