MCPcopy Create free account
hub / github.com/OpenListTeam/OpenList / rawToken

Method rawToken

server/webdav/internal/xml/xml.go:533–830  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

531}
532
533func (d *Decoder) rawToken() (Token, error) {
534 if d.err != nil {
535 return nil, d.err
536 }
537 if d.needClose {
538 // The last element we read was self-closing and
539 // we returned just the StartElement half.
540 // Return the EndElement half now.
541 d.needClose = false
542 return EndElement{d.toClose}, nil
543 }
544
545 b, ok := d.getc()
546 if !ok {
547 return nil, d.err
548 }
549
550 if b != '<' {
551 // Text section.
552 d.ungetc(b)
553 data := d.text(-1, false)
554 if data == nil {
555 return nil, d.err
556 }
557 return CharData(data), nil
558 }
559
560 if b, ok = d.mustgetc(); !ok {
561 return nil, d.err
562 }
563 switch b {
564 case '/':
565 // </: End element
566 var name Name
567 if name, ok = d.nsname(); !ok {
568 if d.err == nil {
569 d.err = d.syntaxError("expected element name after </")
570 }
571 return nil, d.err
572 }
573 d.space()
574 if b, ok = d.mustgetc(); !ok {
575 return nil, d.err
576 }
577 if b != '>' {
578 d.err = d.syntaxError("invalid characters between </" + name.Local + " and >")
579 return nil, d.err
580 }
581 return EndElement{name}, nil
582
583 case '?':
584 // <?: Processing instruction.
585 var target string
586 if target, ok = d.name(); !ok {
587 if d.err == nil {
588 d.err = d.syntaxError("expected target name after <?")
589 }
590 return nil, d.err

Callers 2

TokenMethod · 0.95
RawTokenMethod · 0.95

Calls 15

getcMethod · 0.95
ungetcMethod · 0.95
textMethod · 0.95
mustgetcMethod · 0.95
nsnameMethod · 0.95
syntaxErrorMethod · 0.95
spaceMethod · 0.95
nameMethod · 0.95
switchToReaderMethod · 0.95
attrvalMethod · 0.95
CharDataTypeAlias · 0.85
procInstFunction · 0.85

Tested by

no test coverage detected