/// <summary> /// Called when parsing begins /// </summary> public virtual void WriteDocumentStart(XamlDocumentStartNode XamlDocumentStartNode) { if (BamlRecordWriter != null) { BamlRecordWriter.WriteDocumentStart(XamlDocumentStartNode); } }
// called to start writing the BAML internal void WriteDocumentStart(XamlDocumentStartNode xamlDocumentNode) { // Always put a Version Block before the Document Start record. BamlVersionHeader bamlVersion = new BamlVersionHeader(); bamlVersion.WriteVersion(BinaryWriter); DocumentStartRecord = (BamlDocumentStartRecord) BamlRecordManager.GetWriteRecord(BamlRecordType.DocumentStart); DocumentStartRecord.DebugBaml = DebugBamlStream; // go ahead and write initial values to the Stream, will back fill. // the rootElement. WriteBamlRecord(DocumentStartRecord, xamlDocumentNode.LineNumber, xamlDocumentNode.LinePosition); BamlRecordManager.ReleaseWriteRecord(DocumentStartRecord); }