You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: schemaLibrary.go
    path of file: ./repos/unioffice/schema/soo/schemaLibrary
    
    the code of the file until where you have to start completion: //
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/

package schemaLibrary ;import (_c "encoding/xml";_ce "fmt";_ae "github.com/unidoc/unioffice";_cf "github.com/unidoc/unioffice/common/logger";);type SchemaLibrary struct{CT_SchemaLibrary };func NewCT_Schema ()*CT_Schema {_f :=&CT_Schema {};return _f };

// Validate validates the CT_SchemaLibrary and its children
func (_adc
    
func (_ec *CT_Schema )ValidateWithPath (path string )error {return nil };func (_ad *CT_SchemaLibrary )UnmarshalXML (d *_c .Decoder ,start _c .StartElement )error {_ceg :for {_fcf ,_afd :=d .Token ();if _afd !=nil {return _afd ;};switch _ea :=_fcf .(type ){case _c .StartElement :switch _ea .Name {case _c .Name {Space :"\u0068\u0074\u0074\u0070:\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073.\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067/\u0073\u0063\u0068\u0065\u006da\u004c\u0069\u0062\u0072\u0061\u0072\u0079\u002f\u0032\u0030\u0030\u0036\u002f\u006d\u0061\u0069\u006e",Local :"\u0073\u0063\u0068\u0065\u006d\u0061"}:_efg :=NewCT_Schema ();
if _afe :=d .DecodeElement (_efg ,&_ea );_afe !=nil {return _afe ;};_ad .Schema =append (_ad .Schema ,_efg );default:_cf .Log .Debug ("\u0073\u006b\u0069\u0070\u0070i\u006e\u0067\u0020\u0075\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065d\u0020\u0065\u006c\u0065\u006d\u0065\u006e\u0074\u0020\u006f\u006e\u0020\u0043\u0054\u005f\u0053\u0063\u0068\u0065\u006d\u0061\u004c\u0069\u0062\u0072\u0061\u0072\u0079\u0020\u0025v",_ea .Name );
if _bbc :=d .Skip ();_bbc !=nil {return _bbc ;};};case _c .EndElement :break _ceg ;case _c .CharData :};};return nil ;};func (_b *CT_Schema )UnmarshalXML (d *_c .Decoder ,start _c .StartElement )error {for _ ,_gd :=range start .Attr {if _gd .Name .Local =="\u0075\u0072\u0069"{_af ,_cc :=_gd .Value ,error (nil );
if _cc !=nil {return _cc ;};_b .UriAttr =&_af ;continue ;};if _gd .Name .Local =="\u006d\u0061n\u0069\u0066\u0065s\u0074\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e"{_bg ,_e :=_gd .Value ,error (nil );if _e !=nil {return _e ;};_b .ManifestLocationAttr =&_bg ;
continue ;};if _gd .Name .Local =="\u0073\u0063\u0068\u0065\u006d\u0061\u004c\u006f\u0063a\u0074\u0069\u006f\u006e"{_ca ,_d :=_gd .Value ,error (nil );if _d !=nil {return _d ;};_b .SchemaLocationAttr =&_ca ;continue ;};if _gd .Name .Local =="\u0073\u0063\u0068\u0065\u006d\u0061\u004c\u0061\u006eg\u0075\u0061\u0067\u0065"{_fg ,_cb :=_gd .Value ,error (nil );
if _cb !=nil {return _cb ;};_b .SchemaLanguageAttr =&_fg ;continue ;};};for {_bb ,_bd :=d .Token ();if _bd !=nil {return _ce .Errorf ("p\u0061\u0072\u0073\u0069ng\u0020C\u0054\u005f\u0053\u0063\u0068e\u006d\u0061\u003a\u0020\u0025\u0073",_bd );};if _fb ,_cca :=_bb .(_c .EndElement );
_cca &&_fb .Name ==start .Name {break ;};};return nil ;};type CT_SchemaLibrary struct{Schema []*CT_Schema ;};func NewCT_SchemaLibrary ()*CT_SchemaLibrary {_dc :=&CT_SchemaLibrary {};return _dc };