On 11/23/2014 07:09 AM, Mike Maxwell wrote:

Yeap, I see that now, on the elements that are causing us trouble.  I
didn't know to look for that if the Validity check said the doc was
clean

Your document is valid according to the RELAX NG schema. This does not mean that XXE understands the content model of your custom elements sufficiently well to let you use your custom elements normally (that is, comfortably).



Since the validity check doesn't find them, is there another way to find all 
the elements that will show up in the node path bar with a yellow underline?  
Short of going through them one-by-one looking for yellow underlines.

No. You'll have to test your custom elements one by one in XXE.





I guess I could change the RNG to allow whitespace there; I'd rather not
allow just any old text.

This won't help at all. Please consider allowing your custom elements to either:

* freely contain any text between their child elements ("mixed-content elements")

OR

* not to contain text at all ("empty elements" or "element-only elements").




Is that what is meant by "ignorable
whitespace"? Alternatively, I could try to eliminate all whitespace
between these tags using a text editor, and see if they start to show up
again.

This would be tedious and error prone. Redesigning your custom elements (may be by adding extra child elements to your ilr:inlineExample) is a much better option.




I think we'll be fine if I can just figure out this ignorable whitespace
thing.

It's quite simple.

First of all, the "ignorable whitespace" concept only applies to "mixed-content elements" and to "element-only elements". Of course, these elements must not have xml:space="preserve".

XXE is free to remove and/or compress the whitespace inside these elements.

I call "ignorable whitespace" the whitespace compressed and/or removed by XXE in these elements.

Out of my head, XXE does what follows to "mixed-content elements", not having xml:space="preserve":

* Compress whitespace. That's replace consecutive space characters by a single space character.

* Remove leading and trailing whitespace, unless the element is contained in a parent which is itself a "mixed-content element".

Example:

<p> This contains <b>bold text <i> containing italic </i></b> text. </p>

becomes:

<p>This contains <b>bold text <i> containing italic </i></b> text.</p>



We understand that all this is confusing and we truly apologize for that. The problems you face should not exist at all. They exist only because XXE does not support the *full* power of RELAX NG, when it comes to interactively editing a document. This limitation, unfortunately, cannot be removed any time soon.







--
XMLmind XML Editor Support List
[email protected]
http://www.xmlmind.com/mailman/listinfo/xmleditor-support

Reply via email to