200 Then While i > 0 s = s & " " i = i - 1 Wend PadIt = s Else PadIt = Left(" ", i) End If End Function Function DispIt1(n) If Len(sPXML) = 0 Then sPXML = Me.ParentNode.xml bFirst = True End If If Me.ParentNode.xml <> sPXML Then sPXML = Me.ParentNode.xml bFirst = False iLensMax = iLens iLens = 0 iRow = iRow + 1 End If If bFirst Then 'this is the first row - set up the headers sTs(iLens) = Me.Attributes(0).Value Else If sTs(iLens) <> Me.Attributes(0).Value Then 'This is going to be messy - Find it or add it on the end End If End If sVs(iRow, iLens) = Me.nodeTypedValue iLens = iLens + 1 End Function Function DispIt2(n) Dim sT Dim sV Dim i Dim j Dim k 'Determine the column widths 'look at the column headers first iLensMax = iLens iLens = 0 iRow = iRow + 1 While i < iLensMax k = Len(sTs(i)) If k > lens(i) Then lens(i) = k End If i = i + 1 Wend 'look at the values i = 0 While i < iRow j = 0 While j < iLensMax k = Len(sVs(i, j)) If k > lens(j) Then lens(j) = k End If j = j + 1 Wend i = i + 1 Wend 'set up the column headers i = 0 While i < iLensMax j = lens(i) j = j - Len(sTs(i)) sT = sT & sTs(i) & PadIt(j) i = i + 1 Wend i = 0 While i < iRow j = 0 While j < iLensMax k = lens(j) - Len(sVs(i, j)) sV = sV & sVs(i, j) & PadIt(k) j = j + 1 Wend sV = sV & vbCrLf i = i + 1 Wend DispIt2 = sT & vbCrLf & sV End Function ]]> DispIt2(this) DispIt1(this)