Subject: XML Syntax for FilterQuery
All, Attached is a text file with the XML ELEMENT definitions for FilterQuery. I found three errors when I attempted to validate it for correctness. 1) ELEMENT "SimpleClause" misspelled as "Simpleclause" for its ATTLIST definition. I fixed this in the attached file but Farrukh will have to correct the source document. 2) My checker didn't like the ATTLIST definition for ELEMENT IntClause. I'm not sure why and I didn't try to fix it. 3) ELEMENT StatusResult had a missing parentheses at the end of the definition. I fixed it in the attached file, but Farrukh will have to correct the source document. Also several definitions of existing elements in the RegistryServices DTD (from version 0.85) are missing in this text. -- Len At 07:20 PM 3/7/01 , Len Gallagher wrote: >>-Need FileteredQuery DTD in a single file > >I forgot to do this -- but will do it tomorrow and distribute it to the >email list.
<!ELEMENT FilterQuery ( RegistryEntryQuery | AuditableEventQuery | ClassificationNodeQuery | RegistryPackageQuery | OrganizationQuery )> <!ELEMENT FilterQueryResult ( RegistryEntryQueryResult | AuditableEventQueryResult | ClassificationNodeQueryResult | RegistryPackageQueryResult | OrganizationQueryResult )> <!ELEMENT RegistryEntryQueryResult ( RegistryEntryReference* )> <!ELEMENT RegistryEntryReference EMPTY > <!ATTLIST RegistryEntryReference objectURN CDATA #REQUIRED contentURL CDATA #IMPLIED objectID CDATA #IMPLIED > <!ELEMENT AuditableEventQueryResult ( AuditableEventReference* )> <!ELEMENT AuditableEventReference EMPTY > <!ATTLIST AuditableEventReference objectID CDATA #REQUIRED timestamp CDATA #REQUIRED > <!ELEMENT ClassificationNodeQueryResult (ClassificationNodeReference*)> <!ELEMENT ClassificationNodeReference EMPTY > <!ATTLIST ClassificationNodeReference objectURN CDATA #REQUIRED contentURL CDATA #IMPLIED objectID CDATA #IMPLIED > <!ELEMENT RegistryPackageQueryResult ( RegistryPackageReference* )> <!ELEMENT RegistryPackageReference EMPTY > <!ATTLIST RegistryPackageReference objectURN CDATA #REQUIRED contentURL CDATA #IMPLIED objectID CDATA #IMPLIED > <!ELEMENT OrganizationQueryResult ( OrganizationReference* )> <!ELEMENT OrganizationReference EMPTY > <!ATTLIST OrganizationReference orgURN CDATA #REQUIRED contactURL CDATA #IMPLIED objectID CDATA #IMPLIED > <!ELEMENT StatusResult ( Success | ( Exception | Warning )+ )> <!ELEMENT Success EMPTY > <!ELEMENT Exception ( #PCDATA )> <!ATTLIST Exception code CDATA #REQUIRED > <!ELEMENT Warning ( #PCDATA )> <!ATTLIST Warning code CDATA #REQUIRED > <!ELEMENT RegistryEntryQuery ( RegistryEntryFilter?, AsSourceAssociation*, AsTargetAssociation*, RegistryEntryClassification*, SubmittingOrgFilter?, ResponsibleOrgFilter?, ExternalLinkFilter*, RegistryEntryAuditableEvent* )> <!ELEMENT AsSourceAssociation ( AssociationFilter?, RegistryEntryFilter? )> <!ELEMENT AsTargetAssociation ( AssociationFilter?, RegistryEntryFilter? )> <!ELEMENT RegistryEntryClassification ( ClassificationFilter?, ClassificationNodeFilter? )> <!ELEMENT SubmittingOrgFilter ( OrganizationFilter?, ContactFilter? )> <!ELEMENT ResponsibleOrgFilter ( OrganizationFilter?, ContactFilter? )> <!ELEMENT RegistryEntryAuditableEvent ( AuditableEventFilter?, AuditableIdentityFilter?, OrganizationFilter? )> <!ELEMENT AuditableEventQuery ( AuditableEventFilter?, RegistryEntryQuery*, AuditableIdentityFilter?, OrganizationQuery? )> <!ELEMENT ClassificationNodeQuery ( ClassificationNodeFilter?, ClassifiesRegistryEntry*, HasParentNode?, HasSubnode* )> <!ELEMENT ClassifiesRegistryEntry ( ClassificationFilter?, RegistryEntryQuery? )> <!ELEMENT HasParentNode ( ClassificationNodeFilter?, HasParentNode? )> <!ELEMENT HasSubnode ( ClassificationNodeFilter?, HasSubnode* )> <!ELEMENT RegistryPackageQuery ( PackageFilter?, PackageHasMember* )> <!ELEMENT PackageHasMember ( RegistryEntryQuery?, )> <!ELEMENT OrganizationQuery ( OrganizationFilter?, SubmitsEntry*, HasParentOrganization?, InvokesEvent*, ContactFilter* )> <!ELEMENT SubmitsEntry ( RegistryEntryQuery? )> <!ELEMENT HasParentOrganization ( OrganizationFilter?, HasParentOrganization? )> <!ELEMENT InvokesEvent ( AuditableIdentityFilter?, AuditableEventFilter?, RegistryEntryQuery? )> <!ELEMENT GetRegistryEntry ( RegistryEntryQuery, WithClassifications?, WithAsSourceAssociations?, WithAsTargetAssociations?, WithAuditableEvents?, WithExternalLinks? )> <!ELEMENT WithClassifications ( ClassificationFilter? )> <!ELEMENT WithAsSourceAssociations ( AssociationFilter? )> <!ELEMENT WithAsTargetAssociations ( AssociationFilter? )> <!ELEMENT WithAuditableEvents ( AuditableEventFilter? )> <!ELEMENT WithExternalLinks ( ExternalLinkFilter? )> <!ELEMENT GetRegistryEntryResult ( RegistryEntryMetadata*, StatusResult )> <!ELEMENT RegistryEntryMetadata ( RegistryEntry, Classification*, AsSourceAssociations?, AsTargetAssociations?, AuditableEvent*, ExternalLink* )> <!ELEMENT AsSourceAssociations ( Association* )> <!ELEMENT AsTargetAssociations ( Association* )> <!ELEMENT GetRepositoryItem ( RegistryEntryQuery, RecursiveAssociationOption?, WithShortDescription? )> <!ELEMENT RecursiveAssociationOption ( AssociationRole+ )> <!ATTLIST RecursiveAssociationOption depthLimit CDATA #IMPLIED > <!ELEMENT AssociationRole EMPTY > <!ATTLIST AssociationRole role CDATA #REQUIRED > <!ELEMENT WithShortDescription EMPTY > <!ELEMENT GetRepositoryItemResult ( RepositoryItem*, StatusResult )> <!ELEMENT RepositoryItem ( ClassificationScheme | RegistryPackage | ExtrinsicObject | WithdrawnObject | ExternalItem )> <!ATTLIST RepositoryItem identifier CDATA #REQUIRED name CDATA #REQUIRED repositoryURL CDATA #REQUIRED objectType CDATA #REQUIRED status CDATA #REQUIRED stability CDATA #REQUIRED description CDATA #IMPLIED > <!ELEMENT ExtrinsicObject (#PCDATA) > <!ATTLIST ExtrinsicObject byteEncoding CDATA "Base64" > <!ELEMENT WithdrawnObject EMPTY > <!ELEMENT ExternalItem EMPTY > <!ELEMENT ObjectFilter ( Clause )> <!ELEMENT RegistryEntryFilter ( Clause )> <!ELEMENT IntrinsicObjectFilter ( Clause )> <!ELEMENT ExtrinsicObjectFilter ( Clause )> <!ELEMENT PackageFilter ( Clause )> <!ELEMENT OrganizationFilter ( Clause )> <!ELEMENT ContactFilter ( Clause )> <!ELEMENT ClassificationNodeFilter ( Clause )> <!ELEMENT AssociationFilter ( Clause )> <!ELEMENT ClassificationFilter ( Clause )> <!ELEMENT ExternalLinkFilter ( Clause )> <!ELEMENT AuditableEventFilter ( Clause )> <!ELEMENT AuditableIdentityFilter ( Clause )> <!ELEMENT Clause ( SimpleClause | CompoundClause )> <!ELEMENT SimpleClause ( BooleanClause | RationalClause | StringClause )> <!ATTLIST SimpleClause leftargument CDATA #REQUIRED > <!ELEMENT CompoundClause ( Clause, Clause+ )> <!ATTLIST CompoundClause connectivepredicate ( And | Or ) #REQUIRED> <!ELEMENT BooleanClause EMPTY > <!ATTLIST BooleanClause booleanpredicate ( True | False ) #REQUIRED> <!ELEMENT RationalClause ( IntClause | FloatClause )> <!ATTLIST RationalClause logicalpredicate ( LE | LT | GE | GT | EQ | NE ) #REQUIRED > <!ELEMENT IntClause ( #PCDATA ) <!ATTLIST IntClause e-dtype NMTOKEN #FIXED 'int' > <!ELEMENT FloatClause ( #PCDATA )> <!ATTLIST FloatClause e-dtype NMTOKEN #FIXED 'float' > <!ELEMENT StringClause ( #PCDATA )> <!ATTLIST StringClause stringpredicate ( contains | -contains | startswith | -startswith | endswith | -endswith ) #REQUIRED >
************************************************************** Len Gallagher LGallagher@nist.gov NIST Work: 301-975-3251 Bldg 820 Room 562 Home: 301-424-1928 Gaithersburg, MD 20899-8970 USA Fax: 301-948-6213 **************************************************************
Powered by
eList eXpress LLC