Nick Wellnhofer
7bd8d1d9cc
doc: Prefix autolinks with '#'
...
Use `#func` instead of `func()` to ignore parameters and make all
autolinks work.
2025-05-28 16:01:52 +02:00
Nick Wellnhofer
adfbeb7e08
doc: Stop using *Ptr typedefs in documentation
2025-05-16 18:03:12 +02:00
Nick Wellnhofer
a40f36e7f2
include: Stop using *Ptr typedefs in public headers
2025-05-16 18:03:12 +02:00
Nick Wellnhofer
fcb7a777ce
io: Make xmlOutputBufferCreate* not free encoder on error
...
Revert a530ff12
which was an inadvertent API change.
2025-05-13 22:44:42 +02:00
Nick Wellnhofer
39ae5d1265
save: Add NULL check in xmlBufDumpEntityContent
...
Short-lived regression.
2025-05-12 21:04:41 +02:00
Nick Wellnhofer
f602c0c186
html: Rework serialization of meta encoding attributes
...
Don't allocate memory.
2025-05-12 00:05:02 +02:00
Nick Wellnhofer
5f8ebc8809
save: Avoid xmlOutputBufferWriteQuotedString
...
xmlOutputBufferWriteQuotedString should be reserved for things like
system IDs.
2025-05-11 20:29:25 +02:00
Nick Wellnhofer
777e2adf77
io: Consolidate escaping code
...
Use generated table approach of xmlSerializeText for xmlEscapeText.
Move most code to xmlIO.c.
2025-05-11 20:29:25 +02:00
Nick Wellnhofer
dad1163078
entities: Always replace invalid chars when escaping
...
The previous refactor painstakingly recreated the different behavior of
separate functions that were merged. It makes
Optimize IS_CHAR check for non-ASCII chars.
2025-05-11 20:29:25 +02:00
Nick Wellnhofer
c8cea39d8a
save: Fix serialization of attribute defaults containing <
...
Long-standing bug that produced invalid XML.
2025-05-11 20:29:25 +02:00
Nick Wellnhofer
971038e59f
html: Call lower-level escaping functions
...
Removes the need to pass a document around.
2025-05-11 20:29:25 +02:00
Nick Wellnhofer
442c1903af
doc: Fix some damage from automated conversions
...
Add some newlines, fix returns.
2025-05-11 20:29:25 +02:00
Nick Wellnhofer
46f05ea4d5
html: Rework meta charset handling
...
Don't use encoding from meta tags when serializing. Only use the value
in `doc->encoding`, matching the XML serializer. This is the actual
encoding used when parsing.
Stop modifying the input document by setting meta tags before
serializing. Meta tags are now injected during serialization.
Add full support for <meta charset=""> which is also used when adding
meta tags.
Align with HTML5 and implement the "algorithm for extracting a character
encoding from a meta element". Only modify the encoding substring in
Content-Type meta tags.
Only switch encoding once when parsing.
Fix htmlSaveFileFormat with a NULL encoding not to declare a misleading
UTF-8 charset.
Fixes #909 .
2025-05-11 20:29:25 +02:00
Nick Wellnhofer
9bbffec568
doc: Move brief to top, params to bottom of doc comments
2025-05-06 19:51:38 +02:00
Nick Wellnhofer
b1685459a3
doc: Misc fixes to xmlsave docs
2025-05-06 19:51:38 +02:00
Nick Wellnhofer
cb1635a642
doc: Use @since command
2025-05-02 19:05:25 +02:00
Nick Wellnhofer
e6d6fa6ffc
doc: Fix xmlsave format hint
...
Don't recommend deprecated symbols.
2025-05-02 17:41:26 +02:00
Nick Wellnhofer
f7c412874b
doc: Remove more comment block headers
2025-05-02 17:41:26 +02:00
Nick Wellnhofer
e525564f65
doc: Remove empty lines at start of block
...
These lines were left over after automatic conversion.
2025-05-02 11:42:05 +02:00
Nick Wellnhofer
e549622bc5
doc: Convert documentation to Doxygen
...
Automated conversion based on a few regexes.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
69879da88f
doc: Remove email addresses from documentation
...
Also remove authorship information from generated files, hash.c and
globals.c which were rewritten.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
61890e399d
doc: Prepare for conversion to Doxygen
...
Fix many params in internal functions (not really necessary but Doxygen
warns about that in XML mode).
Fix formatting in a few corner cases that automatic conversion can't
handle.
Rearrange some DOC_DISABLE blocks.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
8a791fdd2f
save: Fix xmlDocDump with encoding
...
Short-lived regression.
2025-04-21 18:00:56 +02:00
Nick Wellnhofer
78b123c662
save: Fix XML escape table
...
Regressed with 2adcde39
.
2025-04-21 00:51:32 +02:00
Nick Wellnhofer
5df94fc752
save: Remove unused struct members
2025-04-20 23:09:18 +02:00
Nick Wellnhofer
8c6c61653b
save: Rework encoding setup
...
Always set up encoding in xmlDocContentDumpOutput. Refactor and simplify
some code.
2025-04-20 23:09:18 +02:00
Nick Wellnhofer
936e3d529a
save: Fix xmlSave with NULL encoding
...
Regressed with cc45f618
.
2025-04-20 20:53:26 +02:00
Nick Wellnhofer
b349225952
include: Change some return types from int to enum
...
This also affects some new functions from 2.13.
2025-03-14 02:31:01 +01:00
Nick Wellnhofer
9c16a153d8
Revert "include: Make most IS_* macros private"
...
This reverts commit 84a6c82ff8
.
2025-02-13 20:20:17 +01:00
Nick Wellnhofer
ebbc31cc6b
malloc-fail: Check for malloc failure in xhtmlNodeDumpOutput
2025-02-13 12:09:58 +01:00
Nick Wellnhofer
84a6c82ff8
include: Make most IS_* macros private
...
Macros like IS_DIGIT or IS_LETTER severely pollute the C namespace.
2024-12-21 20:01:30 +01:00
Nick Wellnhofer
0dd910e82b
save: Fix handling of catastrophic errors
...
Don't overwrite catastrophic errors xmlSaveErr.
Overwrite non-catastrophic errors in xmlOutputBufferClose.
2024-12-19 02:30:36 +01:00
Nick Wellnhofer
0160076f39
save: Forward error from closing IO in xmlSaveFinish
2024-12-17 21:57:16 +01:00
Nick Wellnhofer
5e7874015e
save: Make xmlEscapeTab signed
...
Fixes issues in platforms where char is unsigned.
Fixes #797 .
2024-09-10 17:50:08 +02:00
Nick Wellnhofer
a530ff125d
io: Always consume encoding handler when creating output buffers
...
Also free encoding handler in error case.
Remove xmlAllocOutputBufferInternal which was identical to
xmlAllocOutputBuffer.
2024-07-29 14:25:39 +02:00
Nick Wellnhofer
bc14d70f49
xmlsave: Improve "unsupported encoding" error message
...
Incomplete support of XML_SAVE_* error codes was removed. Error handling
still needs work. xmlOutputBufferCreateFilename should return an error
code.
2024-07-25 00:26:48 +02:00
Nick Wellnhofer
5862e9dd37
Add NULL checks
...
Short-lived regression.
2024-07-18 02:10:16 +02:00
Nick Wellnhofer
a221cd7849
buf: Rework xmlBuf code
...
Always use what the old implementation called the "IO" allocation
scheme, allowing to move the content pointer past the initial
allocation. This is inexpensive and allows efficient shrinking.
Optimize xmlBufGrow, reusing shrunken memory as much as possible.
Simplify xmlBufAdd.
Make xmlBufBackToBuffer return an error on overflow.
Make "size" exclude the terminating NULL byte.
Always provide an initial size.
Reintroduce static buffers.
Remove xmlBufResize and several other functions.
2024-07-16 17:42:10 +02:00
Nick Wellnhofer
2adcde3920
save: Optimize xmlSerializeText
...
Use lookup tables.
2024-07-16 17:42:10 +02:00
Nick Wellnhofer
1b06708271
save: Always serialize CR as decimal " "
...
We used to serialize CR as "
" when there was no encoding and we
weren't in an attribute. This was somewhat inconsistent.
2024-07-16 17:42:10 +02:00
Nick Wellnhofer
1cfc5b8089
entities: Rework serialization of numeric character references
2024-07-16 17:42:10 +02:00
Nick Wellnhofer
8d1606265d
entities: Rework text escaping
2024-07-16 17:42:10 +02:00
Nick Wellnhofer
cc45f618ae
save: Rework text escaping
...
Stop using xmlOutputBufferWriteEscape except when using deprecated
xmlSaveSetEscape. Rewrite xmlOutputBufferWriteEscape to use an extra
buffer and call xmlOutputBufferWrite.
Introduce xmlSerializeText to serialize both text and attribute content.
Don't read encoding from document when serializing and remove all hacks
that temporarily changed the document's encoding.
2024-07-16 17:42:10 +02:00
Nick Wellnhofer
e488695b1a
save: Deprecate xmlSaveSet*Escape
...
xmlSaveSetAttrEscape never had an effect.
2024-07-16 17:42:10 +02:00
Nick Wellnhofer
673ca0edaf
tests: Regenerate testapi.c
2024-07-11 01:23:57 +02:00
Nick Wellnhofer
96d850c3cb
save: Fix "Factor out xmlSaveWriteIndent"
2024-07-02 22:43:49 +02:00
Nick Wellnhofer
35146ff31c
save: Implement xmlSaveSetIndentString
...
Allow to set indent string without using global xmlTreeIndentString.
See #736 .
2024-07-02 20:03:23 +02:00
Nick Wellnhofer
7cc619d568
save: Implement save options for indenting
...
Implement XML_SAVE_NO_INDENT to disable and XML_SAVE_INDENT to enable
indenting regardless of the global xmlIndentTreeOutput.
Implement XML_SAVE_EMPTY to enable empty tags regardless of the global
xmlSaveNoEmptyTags.
See #736 .
2024-07-02 20:03:23 +02:00
Nick Wellnhofer
2c4204ecee
save: Factor out xmlSaveWriteIndent
2024-07-02 20:03:23 +02:00
Nick Wellnhofer
202045f8df
save: Pass options to xmlSaveCtxtInit
2024-07-02 20:03:23 +02:00