Hi José,

I couldn't reproduce the problem. How did you install CXML and CXML-STP? I used the last version from quicklisp running SBCL on a Mac OS:

CL-USER> *features*
(:CL-PPCRE :RUNE-IS-CHARACTER :SWANK :QUICKLISP :ASDF-PACKAGE-SYSTEM :ASDF3.1
 :ASDF3 :ASDF2 :ASDF :OS-MACOSX :OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE
 :64-BIT :64-BIT-REGISTERS :ALIEN-CALLBACKS :ANSI-CL :ASH-RIGHT-VOPS :BSD
 :C-STACK-IS-CONTROL-STACK :COMMON-LISP :COMPARE-AND-SWAP-VOPS
 :COMPLEX-FLOAT-VOPS :CYCLE-COUNTER :DARWIN :DARWIN9-OR-BETTER :FLOAT-EQL-VOPS
 :FP-AND-PC-STANDARD-SAVE :GENCGC :IEEE-FLOATING-POINT :INLINE-CONSTANTS
 :INODE64 :INTEGER-EQL-VOP :INTERLEAVED-RAW-SLOTS :LINKAGE-TABLE :LITTLE-ENDIAN
 :MACH-EXCEPTION-HANDLER :MACH-O :MEMORY-BARRIER-VOPS :MULTIPLY-HIGH-VOPS
 :OS-PROVIDES-BLKSIZE-T :OS-PROVIDES-DLADDR :OS-PROVIDES-DLOPEN
 :OS-PROVIDES-PUTWC :OS-PROVIDES-SUSECONDS-T :PACKAGE-LOCAL-NICKNAMES
 :PRECISE-ARG-COUNT-ERROR :RAW-INSTANCE-INIT-VOPS :SB-CORE-COMPRESSION :SB-DOC
 :SB-EVAL :SB-LDB :SB-PACKAGE-LOCKS :SB-SIMD-PACK :SB-SOURCE-LOCATIONS :SB-TEST
 :SB-THREAD :SB-UNICODE :SBCL :STACK-ALLOCATABLE-CLOSURES
 :STACK-ALLOCATABLE-FIXED-OBJECTS :STACK-ALLOCATABLE-LISTS
 :STACK-ALLOCATABLE-VECTORS :STACK-GROWS-DOWNWARD-NOT-UPWARD :SYMBOL-INFO-VOPS
 :UD2-BREAKPOINTS :UNIX :UNWIND-TO-FRAME-AND-CALL-VOP :X86-64)
CL-USER> (let ((document (with-open-file (stream (merge-pathnames #P"content.xml")
:direction :input
:element-type '(unsigned-byte 8))
  (cxml:parse stream (stp:make-builder)))))
  (with-open-file (salida #P"saida.xml" :direction :output :if-exists :supersede)
    (stp:serialize document (cxml:make-character-stream-sink salida))))
#<SB-SYS:FD-STREAM for "file /Users/arademaker/Downloads/saida.xml" {10050733C3}>


The saida.xml file is fine.

$ xmllint -noout saida.xml

I suggest post this kind of questions in sites like http://stackoverflow.com


Best,


On Thu, Feb 11, 2016 at 5:48 PM, José Ronquillo <josrr@ymail.com> wrote:
Hello CXML developers.

I want to report a bug that I reached working with an ODF (Open Document Format) file, more precisely with the content.xml file that is part of it.

The bug has occurred when I try to serialize a document that is just parsed, you can reproduce it with this code:

(let ((document (with-open-file (stream (merge-pathnames #P"content.xml")
                                             :direction :input
                                             :element-type '(unsigned-byte 8))
                         (cxml:parse stream (stp:make-builder)))))
  (with-open-file (salida #P"1.xml" :direction :output :if-exists :overwrite)
    (stp:serialize document (cxml:make-character-stream-sink salida))))

The output 1.xml file is incorrect. Check the second line, columna 91841, here with some context:

<table:named-expressions/></office:spreadsheet></office:body></office:document-content>le-row table:style-name="ro1"><table:table-cell table:number-columns-repeated="1024"/></table:table-row></table:table><table:named-expressions/></office:spreadsheet></office:body></office:document-content>ing" table:number-columns-spanned="1" table:number-rows-spanned="3"><text:p>DICIEMBRE </text:p></table:table-cell>

The original content.xml file is attached.