本文整理汇总了PHP中Sabre\Xml\Writer::startDocument方法的典型用法代码示例。如果您正苦于以下问题:PHP Writer::startDocument方法的具体用法?PHP Writer::startDocument怎么用?PHP Writer::startDocument使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sabre\Xml\Writer
的用法示例。
在下文中一共展示了Writer::startDocument方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testSerialize
function testSerialize()
{
$value = ['{http://sabredav.org/ns}elem1' => null, '{http://sabredav.org/ns}elem2' => 'textValue', '{http://sabredav.org/ns}elem3' => ['{http://sabredav.org/ns}elem4' => 'text2', '{http://sabredav.org/ns}elem5' => null], '{http://sabredav.org/ns}elem6' => 'text3'];
$writer = new Writer();
$writer->namespaceMap = ['http://sabredav.org/ns' => null];
$writer->openMemory();
$writer->startDocument('1.0');
$writer->setIndent(true);
$writer->write(['{http://sabredav.org/ns}root' => new KeyValue($value)]);
$output = $writer->outputMemory();
$expected = <<<XML
<?xml version="1.0"?>
<root xmlns="http://sabredav.org/ns">
<elem1/>
<elem2>textValue</elem2>
<elem3>
<elem4>text2</elem4>
<elem5/>
</elem3>
<elem6>text3</elem6>
</root>
XML;
$this->assertEquals($expected, $output);
}
示例2: testSerialize
function testSerialize()
{
$writer = new Writer();
$writer->namespaceMap = ['http://sabredav.org/ns' => null];
$writer->openMemory();
$writer->startDocument('1.0');
$writer->setIndent(true);
$writer->write(['{http://sabredav.org/ns}root' => new Cdata('<foo&bar>')]);
$output = $writer->outputMemory();
$expected = <<<XML
<?xml version="1.0"?>
<root xmlns="http://sabredav.org/ns"><![CDATA[<foo&bar>]]></root>
XML;
$this->assertEquals($expected, $output);
}
示例3: writeXml
/**
* Serializes a xCal or xCard object.
*
* @param Component $component
*
* @return string
*/
static function writeXml(Component $component)
{
$writer = new Xml\Writer();
$writer->openMemory();
$writer->setIndent(true);
$writer->startDocument('1.0', 'utf-8');
if ($component instanceof Component\VCalendar) {
$writer->startElement('icalendar');
$writer->writeAttribute('xmlns', Parser\Xml::XCAL_NAMESPACE);
} else {
$writer->startElement('vcards');
$writer->writeAttribute('xmlns', Parser\Xml::XCARD_NAMESPACE);
}
$component->xmlSerialize($writer);
$writer->endElement();
return $writer->outputMemory();
}
示例4: testSerialize
/**
* @dataProvider xmlProvider
*/
function testSerialize($expectedFallback, $input, $expected = null)
{
if (is_null($expected)) {
$expected = $expectedFallback;
}
$writer = new Writer();
$writer->namespaceMap = ['http://sabredav.org/ns' => null];
$writer->openMemory();
$writer->startDocument('1.0');
//$writer->setIndent(true);
$writer->write(['{http://sabredav.org/ns}root' => ['{http://sabredav.org/ns}fragment' => new XmlFragment($input)]]);
$output = $writer->outputMemory();
$expected = <<<XML
<?xml version="1.0"?>
<root xmlns="http://sabredav.org/ns"><fragment>{$expected}</fragment></root>
XML;
$this->assertEquals($expected, $output);
}
示例5: testSerialize
function testSerialize()
{
$writer = new Writer();
$writer->namespaceMap = ['http://sabredav.org/ns' => null];
$writer->openMemory();
$writer->startDocument('1.0');
$writer->setIndent(true);
$writer->contextUri = 'http://example.org/';
$writer->write(['{http://sabredav.org/ns}root' => ['{http://sabredav.org/ns}uri' => new Uri('/foo/bar')]]);
$output = $writer->outputMemory();
$expected = <<<XML
<?xml version="1.0"?>
<root xmlns="http://sabredav.org/ns">
<uri>http://example.org/foo/bar</uri>
</root>
XML;
$this->assertEquals($expected, $output);
}
示例6: __construct
/**
* @param \VirCom\ePUAP2\Requests\Login $request
* @param \Sabre\Xml\Writer $xmlWriter
*/
public function __construct(Requests\Login $request, Xml\Writer $xmlWriter)
{
$xmlWriter->openMemory();
$xmlWriter->setIndent(true);
$xmlWriter->startDocument();
$xmlWriter->startElement('samlp:AuthnRequest');
$xmlWriter->writeAttribute('xmlns:samlp', 'urn:oasis:names:tc:SAML:2.0:protocol');
$xmlWriter->writeAttribute('ID', microtime(true));
$xmlWriter->writeAttribute('IssueInstant', (new \DateTime())->format('Y-m-d\\TH:i:s\\Z'));
$xmlWriter->writeAttribute('Version', '2.0');
$xmlWriter->writeAttribute('Destination', $request->getUrl());
$xmlWriter->writeAttribute('IsPassive', 'false');
$xmlWriter->writeAttribute('AssertionConsumerServiceURL', $request->getResponseUrl());
$xmlWriter->startElement('saml:Issuer');
$xmlWriter->writeAttribute('xmlns:saml', 'urn:oasis:names:tc:SAML:2.0:assertion');
$xmlWriter->write($request->getApplicationId());
$xmlWriter->endElement();
$xmlWriter->endElement();
$this->parsedMessage = $xmlWriter->outputMemory();
}
示例7: __construct
/**
* @param string $url
* @param \VirCom\ePUAP2\Requests\Logout $request
* @param \Sabre\Xml\Writer $xmlWriter
*/
public function __construct(Requests\Logout $request, Xml\Writer $xmlWriter)
{
$xmlWriter->openMemory();
$xmlWriter->setIndent(true);
$xmlWriter->startDocument();
$xmlWriter->startElement('samlp:LogoutRequest');
$xmlWriter->writeAttribute('xmlns:samlp', 'urn:oasis:names:tc:SAML:2.0:protocol');
$xmlWriter->writeAttribute('xmlns:saml', 'urn:oasis:names:tc:SAML:2.0:assertion');
$xmlWriter->writeAttribute('ID', microtime(true));
$xmlWriter->writeAttribute('IssueInstant', (new \DateTime())->format('Y-m-d\\TH:i:s\\Z'));
$xmlWriter->writeAttribute('Version', '2.0');
$xmlWriter->startElement('saml:Issuer');
$xmlWriter->write($request->getApplicationId());
$xmlWriter->endElement();
$xmlWriter->startElement('samlp:NameID');
$xmlWriter->write($request->getUsername());
$xmlWriter->endElement();
$xmlWriter->endElement();
$this->parsedMessage = $xmlWriter->outputMemory();
}
示例8: testSerializers
/**
* @dataProvider dataProvider
*/
function testSerializers($notification, $expected1, $expected2)
{
$this->assertEquals('foo', $notification->getId());
$this->assertEquals('"1"', $notification->getETag());
$writer = new Writer();
$writer->namespaceMap = ['http://calendarserver.org/ns/' => 'cs'];
$writer->openMemory();
$writer->startDocument('1.0', 'UTF-8');
$writer->startElement('{http://calendarserver.org/ns/}root');
$writer->write($notification);
$writer->endElement();
$this->assertXmlStringEqualsXmlString($expected1, $writer->outputMemory());
$writer = new Writer();
$writer->namespaceMap = ['http://calendarserver.org/ns/' => 'cs', 'DAV:' => 'd'];
$writer->openMemory();
$writer->startDocument('1.0', 'UTF-8');
$writer->startElement('{http://calendarserver.org/ns/}root');
$notification->xmlSerializeFull($writer);
$writer->endElement();
$this->assertXmlStringEqualsXmlString($expected2, $writer->outputMemory());
}
示例9: testSerialize
function testSerialize()
{
$value = ['{http://sabredav.org/ns}elem1', '{http://sabredav.org/ns}elem2', '{http://sabredav.org/ns}elem3', '{http://sabredav.org/ns}elem4', '{http://sabredav.org/ns}elem5', '{http://sabredav.org/ns}elem6'];
$writer = new Writer();
$writer->namespaceMap = ['http://sabredav.org/ns' => null];
$writer->openMemory();
$writer->startDocument('1.0');
$writer->setIndent(true);
$writer->write(['{http://sabredav.org/ns}root' => new Elements($value)]);
$output = $writer->outputMemory();
$expected = <<<XML
<?xml version="1.0"?>
<root xmlns="http://sabredav.org/ns">
<elem1/>
<elem2/>
<elem3/>
<elem4/>
<elem5/>
<elem6/>
</root>
XML;
$this->assertEquals($expected, $output);
}
示例10: testSerializers
/**
* @dataProvider dataProvider
*/
function testSerializers($notification, $expected)
{
$notification = new InviteReply($notification);
$this->assertEquals('foo', $notification->getId());
$this->assertEquals('"1"', $notification->getETag());
$simpleExpected = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<cs:root xmlns:cs="http://calendarserver.org/ns/"><cs:invite-reply/></cs:root>';
$writer = new Writer();
$writer->namespaceMap = ['http://calendarserver.org/ns/' => 'cs'];
$writer->openMemory();
$writer->startDocument('1.0', 'UTF-8');
$writer->startElement('{http://calendarserver.org/ns/}root');
$writer->write($notification);
$writer->endElement();
$this->assertEquals($simpleExpected, $writer->outputMemory());
$writer = new Writer();
$writer->contextUri = '/';
$writer->namespaceMap = ['http://calendarserver.org/ns/' => 'cs', 'DAV:' => 'd'];
$writer->openMemory();
$writer->startDocument('1.0', 'UTF-8');
$writer->startElement('{http://calendarserver.org/ns/}root');
$notification->xmlSerializeFull($writer);
$writer->endElement();
$this->assertXmlStringEqualsXmlString($expected, $writer->outputMemory());
}
示例11: exportXml
public function exportXml()
{
$writer = new Writer();
$writer->openMemory();
$writer->startDocument();
$writer->startElement('Document');
$writer->writeAttribute('xmlns', 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03');
$writer->setIndent(true);
// header
$writer->startElement('CstmrCdtTrfInitn');
$writer->startElement('GrpHdr');
$writer->writeElement('MsgId', $this->getMessageId());
$writer->writeElement('CreDtTm', $this->getRequestDateTime());
$writer->writeElement('NbOfTxs', $this->getPayaPaymentInfo()->getNumberOfPayments());
$writer->writeElement('CtrlSum', $this->getPayaPaymentInfo()->getTotalTransactionsAmount());
$writer->startElement('InitgPty');
$writer->writeElement('Nm', $this->getPayaPaymentInfo()->getPayerName());
$writer->endElement();
$writer->endElement();
// payment info
$writer->startElement('PmtInf');
$writer->writeElement('PmtInfId', $this->payaPaymentInfo->getPaymentInfoId());
$writer->startElement('PmtMtd');
$writer->writeAttribute('Ccy', 'IRR');
$writer->write($this->payaPaymentInfo->getPaymentMethod());
$writer->endElement();
$writer->writeElement('NbOfTxs', $this->payaPaymentInfo->getNumberOfPayments());
$writer->writeElement('CtrlSum', $this->payaPaymentInfo->getTotalTransactionsAmount());
$writer->writeElement('ReqdExctnDt', $this->payaPaymentInfo->getRequestDate());
$writer->startElement('Dbtr');
$writer->writeElement('Nm', $this->payaPaymentInfo->getPayerName());
$writer->endElement();
$writer->startElement('DbtrAcct');
$writer->startElement('Id');
$writer->writeElement('IBAN', $this->payaPaymentInfo->getPayerIban());
$writer->endElement();
$writer->endElement();
$writer->startElement('DbtrAgt');
$writer->startElement('FinInstnId');
$writer->writeElement('BIC', 'BMJIIRTHXXX');
$writer->endElement();
$writer->endElement();
/** @var PayaPayment $payment */
foreach ($this->payaPaymentInfo->getPayments() as $payment) {
$writer->startElement('CdtTrfTxInf');
$writer->startElement('PmtId');
$writer->writeElement('InstrId', 'EMPTY');
$writer->writeElement('EndToEndId', 'EMPTY');
$writer->endElement();
$writer->startElement('Amt');
$writer->startElement('InstdAmt');
$writer->writeAttribute('Ccy', 'IRR');
$writer->write($payment->getAmount());
$writer->endElement();
$writer->endElement();
$writer->startElement('Cdtr');
$writer->writeElement('Nm', $payment->getCreditorName());
$writer->endElement();
$writer->startElement('CdtrAcct');
$writer->startElement('Id');
$writer->writeElement('IBAN', $payment->getCreditorIban());
$writer->endElement();
$writer->endElement();
$writer->endElement();
}
$writer->endElement();
$writer->endElement();
$writer->endElement();
$writer->endDocument();
return $writer->outputMemory();
}