diff options
author | buraq <buraq@epfl.ch> | 2004-05-26 10:43:52 +0000 |
---|---|---|
committer | buraq <buraq@epfl.ch> | 2004-05-26 10:43:52 +0000 |
commit | 0371fea50f5f5a2bc1563be4325698a6ca7abad6 (patch) | |
tree | 4bef62993da4ea1329dd8079bf5e9be3698bf780 | |
parent | 02e928fd366845af48154fbe3e57ecbea99b91a1 (diff) | |
download | scala-0371fea50f5f5a2bc1563be4325698a6ca7abad6.tar.gz scala-0371fea50f5f5a2bc1563be4325698a6ca7abad6.tar.bz2 scala-0371fea50f5f5a2bc1563be4325698a6ca7abad6.zip |
new dtd decl items in Scala XML lib
-rw-r--r-- | sources/scala/xml/dtd/Decl.scala | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/sources/scala/xml/dtd/Decl.scala b/sources/scala/xml/dtd/Decl.scala new file mode 100644 index 0000000000..9b8e33ac05 --- /dev/null +++ b/sources/scala/xml/dtd/Decl.scala @@ -0,0 +1,40 @@ +package scala.xml.dtd ; + +import scala.collection.Map ; + +abstract class Decl ; + +abstract class MarkupDecl extends Decl ; + +case class ElemDecl( name:String , + contentModel:String , + attribs:Map[String,AttrDecl] ) + extends MarkupDecl { + + def containsText = contentModel.indexOf("#PCDATA") != -1 ; +}; + +/* ignore default values 4 now */ +case class AttrDecl( name:String, tpe:String, default:DefaultDecl ) extends MarkupDecl; + +/* ignore default values 4 now */ +case class EntityDecl( name:String, tpe:String ) extends MarkupDecl; + +/* ignore default values 4 now */ +case class NotationDecl( name:String, tpe:String ) extends MarkupDecl; + +case class PEReference(ent:String) extends Decl { + if( !Utility.isName( ent )) + throw new IllegalArgumentException("ent must be an XML Name"); + + final override def toString() = "%"+ent+";" +} + + +// default declarations for attributes + +class DefaultDecl ; + +case object REQUIRED, IMPLIED extends DefaultDecl; + +case class DEFAULT(fixed:boolean, attValue:String) extends DefaultDecl; |