本文整理汇总了Golang中github.com/ungerik/go-start/utils.XMLWriter类的典型用法代码示例。如果您正苦于以下问题:Golang XMLWriter类的具体用法?Golang XMLWriter怎么用?Golang XMLWriter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了XMLWriter类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Render
func (self *Paragraph) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag("p").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
if self.Content != nil {
err = self.Content.Render(context, writer)
}
writer.ForceCloseTag()
return err
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:8,代码来源:paragraph.go
示例2: Render
func (self *Format) Render(context *Context, writer *utils.XMLWriter) (err error) {
if self.Escape {
writer.PrintfEscape(self.Text, self.Args...)
} else {
writer.Printf(self.Text, self.Args...)
}
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:8,代码来源:format.go
示例3: Render
func (self *HiddenInput) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag("input").Attrib("id", self.id)
writer.Attrib("type", "hidden")
writer.Attrib("name", self.Name)
writer.Attrib("value", self.Value)
writer.CloseTag()
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:8,代码来源:hiddeninput.go
示例4: Render
func (self *FileInput) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag("input").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
writer.Attrib("type", "file").Attrib("name", self.Name)
if self.Disabled {
writer.Attrib("disabled", "disabled")
}
writer.CloseTag()
return err
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:9,代码来源:fileinput.go
示例5: Render
func (self *CachedView) Render(context *Context, writer *utils.XMLWriter) (err error) {
if self.Content == nil {
return nil
}
if Config.DisableCachedViews || len(context.Params) > 0 || context.Request.Method != "GET" {
return self.Content.Render(context, writer)
}
if self.data == nil || time.Now().After(self.validUntil) {
xmlBuffer := utils.NewXMLBuffer()
err = self.Content.Render(context, &xmlBuffer.XMLWriter)
if err != nil {
return err
}
self.data = xmlBuffer.Bytes()
self.validUntil = time.Now().Add(self.Duration)
}
_, err = writer.Write(self.data)
return err
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:19,代码来源:cachedview.go
示例6: Render
func (self *StaticFile) Render(context *Context, writer *utils.XMLWriter) (err error) {
filePath, found, modified := FindStaticFile(self.Filename)
if !found {
return errs.Format("Static file not found: %s", self.Filename)
}
if self.ContentTypeExt == "" {
self.ContentTypeExt = path.Ext(filePath)
}
if self.fileContent == nil || modified > self.modifiedTime {
self.fileContent, err = ioutil.ReadFile(filePath)
if err != nil {
return err
}
}
context.ContentType(self.ContentTypeExt)
writer.Write(self.fileContent)
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:21,代码来源:staticfile.go
示例7: Render
func (self *Tag) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag(self.Tag).Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
for key, value := range self.Attribs {
writer.Attrib(key, value)
}
if self.Content != nil {
err = self.Content.Render(context, writer)
}
if self.ExtraClose {
writer.ForceCloseTag()
} else {
writer.CloseTag()
}
return err
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:15,代码来源:tag.go
示例8: Render
func (self *Label) Render(context *Context, writer *utils.XMLWriter) (err error) {
var forID string
if self.For != nil {
forID = self.For.ID()
}
writer.OpenTag("label").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
writer.AttribIfNotDefault("for", forID)
if self.Content != nil {
err = self.Content.Render(context, writer)
}
writer.CloseTag()
return err
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:13,代码来源:label.go
示例9: Render
func (self HTML) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.Content(string(self))
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:4,代码来源:html.go
示例10: Render
func (self *Video) Render(context *Context, writer *utils.XMLWriter) (err error) {
youtubeId := ""
switch {
case strings.HasPrefix(self.URL, "http://youtu.be/"):
i := len("http://youtu.be/")
youtubeId = self.URL[i : i+11]
case strings.HasPrefix(self.URL, "http://www.youtube.com/watch?v="):
i := len("http://www.youtube.com/watch?v=")
youtubeId = self.URL[i : i+11]
}
if youtubeId != "" {
writer.OpenTag("iframe").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
width := self.Width
if width == 0 {
width = 640
}
height := self.Height
if height == 0 {
height = 390
}
writer.Attrib("src", "http://www.youtube.com/embed/", youtubeId)
writer.Attrib("width", width)
writer.Attrib("height", height)
writer.Attrib("frameborder", "0")
writer.Attrib("allowfullscreen", "allowfullscreen")
writer.CloseTag()
return nil
}
return errs.Format("Unsupported video URL: %s", self.URL)
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:34,代码来源:video.go
示例11: Render
func (self *Checkbox) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag("input").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
writer.Attrib("type", "checkbox")
writer.Attrib("name", self.Name)
writer.Attrib("value", "true")
if self.Disabled {
writer.Attrib("disabled", "disabled")
}
if self.Checked {
writer.Attrib("checked", "checked")
}
writer.CloseTag()
if self.Label != "" {
writer.OpenTag("label").Attrib("for", self.id).Content(self.Label).CloseTag()
}
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:18,代码来源:checkbox.go
示例12: RenderItem
func (self *StringsSelectModel) RenderItem(index int, context *Context, writer *utils.XMLWriter) (err error) {
writer.Content(self.Options[index])
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:4,代码来源:select.go
示例13: Render
func (self *Table) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag("table").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
if self.Caption != "" {
writer.OpenTag("caption").EscapeContent(self.Caption).CloseTag()
}
if self.Model != nil {
rows := self.Model.Rows()
columns := self.Model.Columns()
for row := 0; row < rows; row++ {
writer.OpenTag("tr")
if row&1 == 0 {
writer.Attrib("class", "row", row, " even")
} else {
writer.Attrib("class", "row", row, " odd")
}
for col := 0; col < columns; col++ {
if self.HeaderRow && row == 0 {
writer.OpenTag("th")
} else {
writer.OpenTag("td")
}
if col&1 == 0 {
writer.Attrib("class", "col", col, " even")
} else {
writer.Attrib("class", "col", col, " odd")
}
view, err := self.Model.CellView(row, col, context)
if view != nil && err == nil {
view.Init(view)
err = view.Render(context, writer)
}
if err != nil {
return err
}
writer.ForceCloseTag() // td/th
}
writer.ForceCloseTag() // tr
}
}
writer.ForceCloseTag() // table
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:48,代码来源:table.go
示例14: Render
func (self *Link) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag("a").AttribIfNotDefault("id", self.id)
writer.AttribIfNotDefault("class", self.Class)
if self.NewWindow {
writer.Attrib("target", "_blank")
}
if self.Model != nil {
writer.Attrib("href", self.Model.URL(context.PathArgs...))
writer.AttribIfNotDefault("title", self.Model.LinkTitle(context))
writer.AttribIfNotDefault("rel", self.Model.LinkRel(context))
content := self.Model.LinkContent(context)
if content != nil {
err = content.Render(context, writer)
}
}
writer.ForceCloseTag() // a
return err
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:18,代码来源:link.go
示例15: Render
func (self *List) Render(context *Context, writer *utils.XMLWriter) (err error) {
if self.Ordered {
writer.OpenTag("ol").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
writer.Attrib("start", self.OrderOffset+1)
} else {
writer.OpenTag("ul").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
}
if self.Model != nil {
numItems := self.Model.NumItems()
for i := 0; i < numItems; i++ {
writer.OpenTag("li").Attrib("id", self.id, "_", i)
view, err := self.Model.ItemView(i, context)
if view != nil && err == nil {
view.Init(view)
err = view.Render(context, writer)
}
if err != nil {
return err
}
writer.ForceCloseTag() // li
}
}
writer.ForceCloseTag() // ol/ul
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:27,代码来源:list.go
示例16: Render
func (self *TextPreview) Render(context *Context, writer *utils.XMLWriter) (err error) {
if len(self.PlainText) < self.MaxLength {
writer.Content(self.PlainText)
} else {
shortLength := self.ShortLength
if shortLength == 0 {
shortLength = self.MaxLength
}
// If in the middle of a word, go back to space before it
for shortLength > 0 && !unicode.IsSpace(rune(self.PlainText[shortLength-1])) {
shortLength--
}
// If in the middle of space, go back to word before it
for shortLength > 0 && unicode.IsSpace(rune(self.PlainText[shortLength-1])) {
shortLength--
}
writer.Content(self.PlainText[:shortLength])
writer.Content("... ")
if self.MoreLink != nil {
writer.OpenTag("a")
writer.Attrib("href", self.MoreLink.URL(context.PathArgs...))
writer.AttribIfNotDefault("title", self.MoreLink.LinkTitle(context))
content := self.MoreLink.LinkContent(context)
if content != nil {
err = content.Render(context, writer)
}
writer.ForceCloseTag() // a
}
}
return err
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:34,代码来源:textpreview.go
示例17: Render
func (self *TextArea) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag("textarea").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
cols := self.Cols
if cols == 0 {
cols = TextAreaDefaultCols
}
rows := self.Rows
if rows == 0 {
rows = TextAreaDefaultRows
}
writer.Attrib("name", self.Name)
writer.Attrib("rows", rows)
writer.Attrib("cols", cols)
writer.AttribIfNotDefault("tabindex", self.TabIndex)
if self.Readonly {
writer.Attrib("readonly", "readonly")
}
if self.Disabled {
writer.Attrib("disabled", "disabled")
}
writer.EscapeContent(self.Text)
writer.CloseTag()
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:27,代码来源:textarea.go
示例18: Render
func (self *Iframe) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag("iframe").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
writer.Attrib("width", self.Width).Attrib("height", self.Height)
writer.Attrib("frameborder", self.Border)
writer.Attrib("marginwidth", self.MarginWidth).Attrib("marginheight", self.MarginHeight)
if self.Scrolling {
writer.Attrib("scrolling", "yes")
} else {
writer.Attrib("scrolling", "no")
}
if self.Seamless {
writer.Attrib("seamless", "seamless")
}
writer.Attrib("src", self.URL)
writer.ForceCloseTag()
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:17,代码来源:iframe.go
示例19: Render
func (self *DummyImage) Render(context *Context, writer *utils.XMLWriter) (err error) {
src := fmt.Sprintf("http://dummyimage.com/%dx%d", self.Width, self.Height)
if self.BackgroundColor != "" || self.ForegroundColor != "" {
if self.BackgroundColor != "" {
src += "/" + self.BackgroundColor
} else {
src += "/ccc"
}
if self.ForegroundColor != "" {
src += "/" + self.ForegroundColor
}
}
src += ".png"
if self.Text != "" {
src += "&text=" + url.QueryEscape(self.Text)
}
writer.OpenTag("img").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
writer.Attrib("src", src)
writer.AttribIfNotDefault("width", self.Width)
writer.AttribIfNotDefault("height", self.Height)
writer.AttribIfNotDefault("alt", self.Text)
writer.CloseTag()
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:29,代码来源:dummyimage.go
示例20: Render
func (self *Menu) Render(context *Context, writer *utils.XMLWriter) (err error) {
writer.OpenTag("ul").Attrib("id", self.id).AttribIfNotDefault("class", self.Class)
requestURL := context.RequestURL()
// Find active item
activeIndex := -1
if self.ActiveItemClass != "" {
// First try exact URL match
for i := range self.Items {
url := self.Items[i].URL(context.PathArgs...)
if url == requestURL {
activeIndex = i
break
}
}
// If no exact URL match is found, search for sub pages
if activeIndex == -1 {
for i := range self.Items {
url := self.Items[i].URL(context.PathArgs...)
if strings.HasPrefix(requestURL, url) {
activeIndex = i
// todo
// not perfect, what if homepage matches first, but other matches better?
}
}
}
}
for i := range self.Items {
index := i
if self.Reverse {
index = len(self.Items) - 1 - i
}
itemClass := self.ItemClass
linkModel := self.Items[index]
url := linkModel.URL(context.PathArgs...)
// use i instead of index
if i == activeIndex {
itemClass += " " + self.ActiveItemClass
}
writer.OpenTag("li").Attrib("id", self.id, "_", index).AttribIfNotDefault("class", itemClass)
if i > 0 && self.BetweenItems != "" {
writer.Content(self.BetweenItems)
}
writer.OpenTag("a")
writer.Attrib("href", url)
writer.AttribIfNotDefault("title", linkModel.LinkTitle(context))
writer.AttribIfNotDefault("rel", linkModel.LinkRel(context))
content := linkModel.LinkContent(context)
if content != nil {
err = content.Render(context, writer)
if err != nil {
return err
}
}
writer.ForceCloseTag() // a
writer.ForceCloseTag() // li
}
writer.ForceCloseTag() // ul
return nil
}
开发者ID:sedzinreri,项目名称:go-start,代码行数:70,代码来源:menu.go
注:本文中的github.com/ungerik/go-start/utils.XMLWriter类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论