datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
xmlns="http://relaxng.org/ns/structure/1.0"
grammar {
default namespace = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
namespace cc = "http://www.xml.gr.jp/xmlns/relaxngcc"
namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
namespace local = ""
start [cc:runtime-type="org.openhealth.rdf.parser.Runtime"] = doc;
nodeElementURIs =
element * - (local:*|rdf:RDF|rdf:ID|rdf:about|rdf:bagID|rdf:parseType|
rdf:resource|rdf:nodeID|rdf:datatype|rdf:li|
rdf:aboutEach|rdf:aboutEachPrefix)
propertyElementURIs =
element * - (local:*|rdf:RDF|rdf:ID|rdf:about|rdf:bagID|rdf:parseType|
rdf:resource|rdf:nodeID|rdf:datatype|rdf:Description|
rdf:aboutEach|rdf:aboutEachPrefix)
propertyAttributeURIs =
attribute * - (local:*|rdf:RDF|rdf:ID|rdf:about|rdf:bagID|rdf:parseType|
rdf:resource|rdf:nodeID|rdf:datatype|rdf:li|rdf:Description|
rdf:aboutEach|rdf:aboutEachPrefix)
xmllang = [$runtime.xmllang = ] attribute xml:lang
xmlbase =
$runtime.xmlbase = ] attribute xml:base
doc = RDF
RDF = element rdf:RDF { xmllang?,xmlbase?,
nodeElementList* }
nodeElementList = nodeElement*
nodeElement = nodeElementURIs {
[
if ($runtime.parseMode == STATEMENT_OBJECT) {
$runtime.statement( $runtime.subject,
$runtime.predicate,
uri + localName,
$runtime.xmlbase);
} else if ($runtime.parseMode == STATEMENT_COLLECTION) {
$runtime.statement( $runtime.subject,
RDF_FIRST,
uri + localName,
$runtime.xmlbase);
};
$runtime.pushStack();
if (uri.equals(RDF_NS) & localName.equals("Description")) {
} else
$runtime.type = uri + localName;
]
(idAttr|nodeIdAttr|aboutAttr)?
[if ($runtime.subject == null)
$runtime.subject = $runtime.makeBlankId();
],
bagIdAttr?
xmllang?,xmlbase?,
[
if ($runtime.type)
$runtime.statement( $runtime.subject,
RDF_TYPE,
$runtime.type,
$runtime.xmlbase);
]
propertyAttr*,
propertyElt*
[ $runtime.popStack(); ]
}
propertyElt =
(resourcePropertyElt|
literalPropertyElt|
parseTypeLiteralPropertyElt|
parseTypeResourcePropertyElt|
parseTypeCollectionPropertyElt|
parseTypeOtherPropertyElt|
emptyPropertyElt)
resourcePropertyElt =
propertyElementURIs {
[$runtime.predicate = uri + localName;]
idAttr?,
xmllang?,xmlbase?,
[ $runtime.parseMode = STATEMENT_OBJECT;]
nodeElement
}
String lit =
$runtime.literalStatement( $runtime.subject,
uri+localName,
lit,
$runtime.datatype,
$runtime.xmllang,
$runtime.xmlbase);
$runtime.redirectSubtree(literalHandler,uri,localName,qname);
String blankId = $runtime.createBlankId();
$runtime.predicate = uri + localName;
$runtime.object = blankId;
$runtime.statement(
$runtime.subject,
$runtime.predicate,
$runtime.object,
$runtime.xmlbase);
$runtime.pushStack();
$runtime.subject = blankId;
$runtime.popStack();
String blankId = $runtime.createBlankId();
$runtime.object = blankId;
$runtime.statement( $runtime.subject,
uri + localName,
blankId,
$runtime.xmlbase);
$runtime.pushStack();
$runtime.subject = blankId;
$runtime.popStack();
$runtime.parseMode = STATEMENT_COLLECTION;
String blankId = $runtime.createBlankId();
$runtime.statement( $runtime.subject,
RDF_REST,
blankId,
$runtime.xmlbase);
$runtime.subject = blankId();
-
-
-
-
-
-
-
$runtime.predicate = uri + localName;
String id =
$runtime.subject = $runtime.makeURI(id);
$runtime.object =
$runtime.statement( $runtime.subject,
$runtime.predicate,
$runtime.object,
$runtime.xmlbase);
$runtime.subject =
-
String lit =
$runtime.literalStatement( $runtime.subject,
$runtime.predicate,
lit,
null,
$runtime.xmllang,
$runtime.xmlbase);
$runtime.object =
$runtime.statement( $runtime.subject,
$runtime.predicate,
$runtime.object,
$runtime.xmlbase);
$runtime.datatype=
Literal
Resource
Collection
-
-
-
-
-
-
-
-