Hi, I'm creating an entity in my doc tree like so:
entityPtr = xmlAddDocEntity(docPtr, name, XML_INTERNAL_GENERAL_ENTITY,
publicID, systemID,
(xmlChar *) "\"Strunk & White\"\'s book");
This does not quite work.
I have turned on XML_PARSE_NOENT. The resulting document includes an entity
definition like this:
<!ENTITY myentity ""Strunk & White"'s book">
But when I use the entity is used later as an attribute value, I get an error,
"xmlParseStringEntityRef: no name". This is caused by the "&" in the content
string. If I say "&" instead, it works.
What is the right function to use to convert an arbitrary string to a suitable
form for passing to xmlAddDocEntity? xmlEncodeSpecialChars()? Are there any
other escapes I need to do? I read something in the mailing list about CRLF
issues…
xmlEncodeSpecialChars() says I need to deallocate the resulting string. If I
pass it to xmlAddDocEntity and it gets added to the document tree as an entity,
is that still true, or will libxml deallocate it when the document is freed? If
I still need to deallocate it myself, can I do that immediately, or do I have
to wait until after I finish with the document?
Thanks.
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml