Revision 70f7466a7c66e2a27541b52c88142ab5eb669f15 authored by Duncan Temple Lang on 27 November 2000, 00:00:00 UTC, committed by Gabor Csardi on 27 November 2000, 00:00:00 UTC
1 parent 6528a2c
DTDClasses.R
#
# Some methods for the DTD classes, similar in spirit
# to those in XMLClasses
#
# print()
#
#
#
# XMLSystemEntity
# XMLEntity
# XMLElementDef
# XMLSequenceContent
# XMLOrContent
# XMLElementContent
# XMLAttributeDef
#
print.XMLElementDef <-
function(x)
{
cat("<!ELEMENT", x$name," ")
print(x$contents)
cat(">\n")
if(length(x$attributes)) {
cat("<!ATTLIST ", x$name,"\n")
for(i in x$attributes) {
cat("\t")
print(i)
cat("\n")
}
cat(">\n")
}
}
print.XMLElementContent <-
function(x)
{
if(names(x$type)[1] == "PCData") {
cat(" ( #PCDATA ) ")
return()
}
cat("(")
cat(x$elements)
cat(")",switch(names(x$ocur)[1],Once="", "One or More"="+","Zero or One"="?","Mult"="*"))
}
print.XMLOrContent <-
function(x)
{
n <- length(x$elements)
cat("( ")
for(i in 1:n) {
print(x$elements[[i]])
if(i < n)
cat(" | ")
}
cat(" )")
}
print.XMLSequenceContent <-
function(x)
{
cat("( ")
n <- length(x$elements)
for(i in 1:n) {
print(x$elements[[i]])
if(i < n)
cat(", ")
}
cat(" )")
}
print.XMLAttributeDef <-
function(x)
{
if(names(x$defaultType)[1] != "Implied")
dflt <- paste("\"", x$defaultValue,"\"",collapse="",sep="")
else
dflt <- ""
cat(x$name, xmlAttributeType(x), xmlAttributeType(x, T), dflt)
}
xmlAttributeType <-
function(def, defaultType = F)
{
if(defaultType == F & names(def$type)[1] == "Enumeration") {
return( paste("(",paste(def$defaultValue,collapse=" | "),")", sep=" ", collapse="") )
}
switch(ifelse(defaultType, names(def$defaultType)[1], names(def$type)[1]),
"Fixed" = "#FIXED",
"CDATA" = "CDATA",
"Implied" = "#IMPLIED",
"Required" = "#REQUIRED",
"Id" = "#ID",
"IDRef" = "#IDREF",
"IDRefs" = "#IDREFS",
"Entity" = "#ENTITY",
"Entities" = "ENTITIES",
"NMToken" = "#NMTOKEN",
"NMTokens" = "#NMTOKENS",
"Enumeration" = "",
"Notation" = "",
"<BROKEN>"
)
}
print.XMLEntity <-
function(x)
{
cat("<!ENTITY %", x$name,paste("\"", x$value,"\"",sep="",collapse=""), ">\n")
}
xmlAttrs.XMLElementDef <-
function(def)
{
def$attributes
}
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...