@@ -50,69 +50,6 @@ use crate::name::{LocalName, QName};
50
50
use crate :: utils:: write_cow_string;
51
51
use attributes:: { Attribute , Attributes } ;
52
52
53
- /// Text that appeared before an XML declaration, a start element or a comment.
54
- ///
55
- /// In well-formed XML it could contain a Byte-Order-Mark (BOM). If this event
56
- /// contains something else except BOM, the XML should be considered ill-formed.
57
- ///
58
- /// This is a reader-only event. If you need to write a text before the first tag,
59
- /// use the [`BytesText`] event.
60
- #[ derive( Debug , Clone , Eq , PartialEq ) ]
61
- pub struct BytesStartText < ' a > {
62
- content : BytesText < ' a > ,
63
- }
64
-
65
- impl < ' a > BytesStartText < ' a > {
66
- /// Converts the event into an owned event.
67
- pub fn into_owned ( self ) -> BytesStartText < ' static > {
68
- BytesStartText {
69
- content : self . content . into_owned ( ) ,
70
- }
71
- }
72
-
73
- /// Extracts the inner `Cow` from the `BytesStartText` event container.
74
- #[ inline]
75
- pub fn into_inner ( self ) -> Cow < ' a , [ u8 ] > {
76
- self . content . into_inner ( )
77
- }
78
-
79
- /// Converts the event into a borrowed event.
80
- #[ inline]
81
- pub fn borrow ( & self ) -> BytesStartText {
82
- BytesStartText {
83
- content : self . content . borrow ( ) ,
84
- }
85
- }
86
-
87
- /// Decodes bytes of event, stripping byte order mark (BOM) if it is presented
88
- /// in the event.
89
- ///
90
- /// This method does not unescapes content, because no escape sequences can
91
- /// appeared in the BOM or in the text before the first tag.
92
- pub fn decode_with_bom_removal ( & self ) -> Result < String > {
93
- //TODO: Fix lifetime issue - it should be possible to borrow string
94
- let decoded = self . content . decoder . decode_with_bom_removal ( & * self ) ?;
95
-
96
- Ok ( decoded. to_string ( ) )
97
- }
98
- }
99
-
100
- impl < ' a > Deref for BytesStartText < ' a > {
101
- type Target = BytesText < ' a > ;
102
-
103
- fn deref ( & self ) -> & Self :: Target {
104
- & self . content
105
- }
106
- }
107
-
108
- impl < ' a > From < BytesText < ' a > > for BytesStartText < ' a > {
109
- fn from ( content : BytesText < ' a > ) -> Self {
110
- Self { content }
111
- }
112
- }
113
-
114
- ////////////////////////////////////////////////////////////////////////////////////////////////////
115
-
116
53
/// Opening tag data (`Event::Start`), with optional attributes.
117
54
///
118
55
/// `<name attr="value">`.
@@ -794,12 +731,6 @@ impl<'a> Deref for BytesText<'a> {
794
731
}
795
732
}
796
733
797
- impl < ' a > From < BytesStartText < ' a > > for BytesText < ' a > {
798
- fn from ( content : BytesStartText < ' a > ) -> Self {
799
- content. content
800
- }
801
- }
802
-
803
734
////////////////////////////////////////////////////////////////////////////////////////////////////
804
735
805
736
/// CDATA content contains unescaped data from the reader. If you want to write them as a text,
@@ -938,56 +869,6 @@ impl<'a> Deref for BytesCData<'a> {
938
869
/// [`Reader::read_event_into`]: crate::reader::Reader::read_event_into
939
870
#[ derive( Clone , Debug , Eq , PartialEq ) ]
940
871
pub enum Event < ' a > {
941
- /// Text that appeared before the first opening tag or an [XML declaration].
942
- /// [According to the XML standard][std], no text allowed before the XML
943
- /// declaration. However, if there is a BOM in the stream, some data may be
944
- /// present.
945
- ///
946
- /// When this event is generated, it is the very first event emitted by the
947
- /// [`Reader`], and there can be the only one such event.
948
- ///
949
- /// The [`Writer`] writes content of this event "as is" without encoding or
950
- /// escaping. If you write it, it should be written first and only one time
951
- /// (but writer does not enforce that).
952
- ///
953
- /// # Examples
954
- ///
955
- /// ```
956
- /// # use pretty_assertions::assert_eq;
957
- /// use std::borrow::Cow;
958
- /// use quick_xml::Reader;
959
- /// use quick_xml::events::Event;
960
- ///
961
- /// // XML in UTF-8 with BOM
962
- /// let xml = b"\xEF\xBB\xBF<?xml version='1.0'?>".as_ref();
963
- /// let mut reader = Reader::from_reader(xml);
964
- /// let mut buf = Vec::new();
965
- /// let mut events_processed = 0;
966
- /// loop {
967
- /// match reader.read_event_into(&mut buf) {
968
- /// Ok(Event::StartText(e)) => {
969
- /// assert_eq!(events_processed, 0);
970
- /// // Content contains BOM
971
- /// assert_eq!(e.into_inner(), Cow::Borrowed(b"\xEF\xBB\xBF"));
972
- /// }
973
- /// Ok(Event::Decl(_)) => {
974
- /// assert_eq!(events_processed, 1);
975
- /// }
976
- /// Ok(Event::Eof) => {
977
- /// assert_eq!(events_processed, 2);
978
- /// break;
979
- /// }
980
- /// e => panic!("Unexpected event {:?}", e),
981
- /// }
982
- /// events_processed += 1;
983
- /// }
984
- /// ```
985
- ///
986
- /// [XML declaration]: Event::Decl
987
- /// [std]: https://www.w3.org/TR/xml11/#NT-document
988
- /// [`Reader`]: crate::reader::Reader
989
- /// [`Writer`]: crate::writer::Writer
990
- StartText ( BytesStartText < ' a > ) ,
991
872
/// Start tag (with attributes) `<tag attr="value">`.
992
873
Start ( BytesStart < ' a > ) ,
993
874
/// End tag `</tag>`.
@@ -1015,7 +896,6 @@ impl<'a> Event<'a> {
1015
896
/// buffer used when reading but incurring a new, separate allocation.
1016
897
pub fn into_owned ( self ) -> Event < ' static > {
1017
898
match self {
1018
- Event :: StartText ( e) => Event :: StartText ( e. into_owned ( ) ) ,
1019
899
Event :: Start ( e) => Event :: Start ( e. into_owned ( ) ) ,
1020
900
Event :: End ( e) => Event :: End ( e. into_owned ( ) ) ,
1021
901
Event :: Empty ( e) => Event :: Empty ( e. into_owned ( ) ) ,
@@ -1033,7 +913,6 @@ impl<'a> Event<'a> {
1033
913
#[ inline]
1034
914
pub fn borrow ( & self ) -> Event {
1035
915
match self {
1036
- Event :: StartText ( e) => Event :: StartText ( e. borrow ( ) ) ,
1037
916
Event :: Start ( e) => Event :: Start ( e. borrow ( ) ) ,
1038
917
Event :: End ( e) => Event :: End ( e. borrow ( ) ) ,
1039
918
Event :: Empty ( e) => Event :: Empty ( e. borrow ( ) ) ,
@@ -1053,7 +932,6 @@ impl<'a> Deref for Event<'a> {
1053
932
1054
933
fn deref ( & self ) -> & [ u8 ] {
1055
934
match * self {
1056
- Event :: StartText ( ref e) => & * e,
1057
935
Event :: Start ( ref e) | Event :: Empty ( ref e) => & * e,
1058
936
Event :: End ( ref e) => & * e,
1059
937
Event :: Text ( ref e) => & * e,
0 commit comments