[
Lists Home |
Date Index |
Thread Index
]
- From: Robin LaFontaine <robin@monsell.co.uk>
- To: Marcus Carr <mrc@allette.com.au>, XML Dev <xml-dev@XML.ORG>
- Date: Thu, 25 May 2000 10:39:56 +0100
Marcus,
I have done this for a syntax very similar to XML and there are a
couple of points to watch:
You say there is no endless recursion, but there could be recursion, e.g.
<!ELEMENT b (d*, a)>
would cause recursion, quite reasonably!
You will also have to watch the difference between two different routes, e.g.
<!ELEMENT b (d*, a, d)>
if the difference between the two places where d can occur is
significant. It is probably the case for your DTDs that they do not
have this type of element declaration, but in the general case it may
need to be handled!
Enjoy writing the implementation!
Robin
At 10:42 am +1000 25/5/00, Marcus Carr wrote:
>Steve DeRose wrote:
>
> > >I seem to recall seeing an announcement for something that would take a
> > >DTD as input and produce XPath addresses for every element - can anyone
> > >provide a pointer? Thanks,
> >
> > If I'm understanding your question right, such a thing is not possible,
> > because a DTD contains no element instances, only declarations of element
> > *types*; and XPath intentionally does not provide a way to point to such
> > declarations.
>
>Sorry, I should have explained more fully - I'm looking for
>something that will
>take:
>
><!DOCTYPE a SYSTEM "a.dtd" [
><!ELEMENT a (b?, c+)>
><!ELEMENT b (d*)>
><!ELEMENT c (#PCDATA)>
><!ELEMENT d (#PCDATA)>
>]>
>
>and produce:
>
>/a
>/a/b
>/a/b/d
>/a/c
>
>I need this because I need to build a table that associates every one of
>several hundred elements in a collection of DTDs with their equivalent field,
>collected either via HTML forms or generated by another part of the system. I
>want to use XPath expressions to allow me to check off every fragment of data
>from both sides of the equation - the structure and the interface.
>
> > If you perhaps instead mean that you want something to produce, for each
> > element type declared in a DTD, the XPath expression that will refer to all
> > instances of that element type, then it is possible but also trivial: for
> > each element type name declared, write out the element type name with "//"
> > in front....
>
>I realise that, but in this case, the full path of the hierarchy is just as
>important as the element name. I understand the issues with optionality and
>repeatability, but they won't cause a problem. Additionally, there are
>"bottoms" to the DTDs - that is, there there is no endlessly looping
>recursion.
>
>Was I imagining that someone had something to do this? (It's happened
>before...)
>
>
>--
>Regards,
>
>Marcus Carr email: mrc@allette.com.au
>___________________________________________________________________
>Allette Systems (Australia) www: http://www.allette.com.au
>___________________________________________________________________
>"Everything should be made as simple as possible, but not simpler."
> - Einstein
>
>
>
>***************************************************************************
>This is xml-dev, the mailing list for XML developers.
>To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
>List archives are available at http://xml.org/archives/xml-dev/
>***************************************************************************
-- -----------------------------------------------------------------
Robin La Fontaine, Monsell EDM Ltd
(R&D Project Management, Engineering Data Exchange using XML, EDIF)
Tel: +44 1684 592 144 Fax: +44 1684 594 504 or +44 870 054 2811
Email: robin@monsell.co.uk http://www.monsell.co.uk
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|