6.14.6.5. Headings

Comienzo python section to interscript/weavers/xml.py[6 /22 ] Siguiente Previo Primero Ăšltimo
   242: #line 253 "xml_weaver.ipk"
   243:   def new_heading(self,level):
   244:     while level>len(self.hcount): self.hcount.append(0)
   245:     while level<len(self.hcount): del self.hcount[-1]
   246:     counter = self.hcount[level-1]+1
   247:     self.hcount[level-1] = counter
   248:     return counter
   249: 
   250:   def get_formatted_heading_number(self, sep):
   251:     hnumber = ''
   252:     for i in range(0,len(self.hcount)-1):
   253:       hnumber = hnumber + str(self.hcount[i])+sep
   254:     hnumber = hnumber + str(self.hcount[-1])
   255:     return hnumber
   256: 
   257: 
   258:   def head(self,level, text, **kwds):
   259:     atext=kwds.get('short_text')
   260:     anchor=kwds.get('key','')
   261:     self._endmode()
   262:     myanchor = anchor
   263:     if myanchor == '': myanchor = atext
   264:     if myanchor == '':
   265:       myanchor = 'h'+str(self.acount)
   266:       self.acount = self.acount + 1
   267: 
   268:     self.new_heading(level)
   269:     hnumber = self.get_formatted_heading_number('.')+'. '
   270:     hprefix = ''
   271:     if self.keywords.has_key('heading_prefix'):
   272:       hprefix = self.keywords['heading_prefix']
   273:     ahref = '<A HREF=#'+anchor+'>'+hprefix+hnumber+str(text)+'</A>'
   274: 
   275:     xml_level = level + self.heading_level_offset
   276:     if xml_level > 6: xml_level = 6
   277:     if anchor: atag = ' ID="'+anchor+'" TITLE="'+anchor+'"'
   278:     else: atag = ' ID="'+myanchor+'"'
   279:     self._writeline( '<H'+str(xml_level)+atag+'>'+
   280:       hprefix+hnumber+str(text)+\
   281:       '</H'+str(xml_level)+'>')
   282: 
   283:     counter = self.hcount[level-1]
   284:     self.toc.append((level,ahref))
   285: 
End python section to interscript/weavers/xml.py[6]