Hi Syd, On 15-07-13 12:42 PM, Syd Bauman wrote:
That makes sense; it's less direct, but perfectly workable.
Good, good.
I wish it were directional, but still. :-)
This is from my previous message about this:
The distinction between metadata about the source document and metadata about the electronic document is very fuzzy a lot of the time. One of the things I'm likely to store in <xenoData> is a block of OAI:PMH metadata which includes the date and title of the original document (source) as well as a list of individuals and places referred to in it (source? electronic?) along with information on the date the file was last changed its canonical URL (electronic). It's really closer to <teiHeader> than to e.g. <sourceDesc>.
I think you are completely right, and it doesn't change my opinion at all. I still think we should have an easy way to express, formally and unambiguously, that "this is about the source" or "this is about the TEI file". The fact that in some (perhaps many or even most) cases an encoder would choose not to take advantage of this capability because it is (understandably) a pain to tease the two apart, or because she has things for which it's not clear, does not mean the capability shouldn't be there. (It does mean the capability should be optional, pushing us towards an attribute instead of position of <xenoData> in the tree.)
Good point, I agree.
I don't see how you can prevent it [non-XML data]. macro.anyXML will allow the user to insert a CDATA section if they want, won't it?
Well, yes and no. One would have to wrap the CDATA marked section with an XML element. E.g. <xenoData> syd:sillyNonXMLmetadata <![CDATA[of course, I have to be very careful with what goes in here, as the string U+5D, U+5D, U+3E would wreak havoc.]]> </xenoData>
Ah -- I see your content model is this:
<content>
<group xmlns="http://relaxng.org/ns/structure/1.0">
<oneOrMore>
<ref name="macro.anyXML"/>
</oneOrMore>
</group>
</content>
whereas I'd been thinking you'd use the same model as <egXML>:
<content>
rng:zeroOrMore
rng:group
rng:choice
rng:text/
But again, that's true already. I don't need a <xenoData> to stick a syd:sillyNonXMLmetadata in my TEI document.
[1] Not entirely true, I changed it to 'macro.anyXML*', about which I plan to post shortly.
I'm interested to see why.
Actually, I did change it to macro.anyXML+ after I realized setting @valid to "feasible" would allow the examples to be considered valid. If anyone wants to make an argument in favor of empty <xenoData>s, speak up.
Not empty, but non-XML is worth considering, surely? Cheers, Martin