dtdValidElement {XML} | R Documentation

## Determines whether an XML tag is valid within another.

### Description

This tests whether `name` is a legitimate tag to use as a direct sub-element of the `within` tag according to the definition of the `within` element in the specified DTD.

### Usage

    dtdValidElement(name, within, dtd, pos=NULL)

### Arguments

`name` | The name of the tag which is to be inserted inside the `within` tag.
`within` | The name of the parent tag the definition of which we are checking to determine if it contains `name`.
`dtd` | The DTD in which the elements `name` and `within` are defined.
`pos` | An optional position at which we might add the `name` element inside `within`. If this is specified, we have a stricter test that accounds for sequences in which elements must appear in order. These are comma-separated entries in the element definition.

### Details

This applies to direct sub-elements or children of the `within` tag and not tags nested within children of that tag, i.e. descendants.

### Value

Returns a logical value. TRUE indicates that a `name` element can be used inside a `within` element. FALSE indicates that it cannot.

### Author(s)

Duncan Temple Lang

### References

http://www.w3.org/XML, http://www.jclark.com/xml, http://www.omegahat.org

### See Also

`parseDTD`, `dtdElement`, `dtdElementValidEntry`,

### Examples

     dtdFile <- system.file("exampleData", "foo.dtd", package="XML")
     foo.dtd <- parseDTD(dtdFile)

      # The following are true.
     dtdValidElement("variable","variables", dtd = foo.dtd)
     dtdValidElement("record","dataset", dtd = foo.dtd)

      # This is false.
     dtdValidElement("variable","dataset", dtd = foo.dtd)

[Package XML version 1.9-0 Index]