OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DTD attribute list syntax for referencing content

It looks like you are trying enforce a dynmic constraint, that some piece of
is the same as some other piece of data.  You cannot do this with DTDs.

You can do it easily using the Schematron schema language, perhaps with
something like this:
      <rule context="object[@source]">
           <assert test="@source =text()"
           >The contents of the source attribute should be the same as the
          of the element.</assert>
(to get a real version, you would probably want to string-normalize the

However, I wonder if you are actually trying to validate--by saying
it sounds like you really want to do some kind of transformation on the
To do that, use Perl or XSLT.

Rick Jelliffe

 H: Dan Matthews <dan@grandprix.freeserve.co.uk>

I am trying to validate an XML file against a DTD, and enforce an element
attribute which contains data from the XML content (i.e. a reference to the
XML file content).

here's my DTD code so far:

<!ELEMENT object (#PCDATA )>
<!ATTLIST object source CDATA #FIXED '{@object}'>

As you can see, I want to enforce a 'source' attribute for the object
and populate it with the content from, for example, the object element
I just can't get info on referencing non-string info in a #FIXED attribute
declaration! Please help - i'm desperate to get this working!!!