macro class nameBasedXml extends Annotation with StaticAnnotation
This annotation enables name based XML literal.
All XML literals in methods that are annotated as nameBasedXml
will be transformed to calls to functions in xml
object.
import scala.language.dynamics object xml { object texts extends Dynamic { def selectDynamic(value: String) = value } case class interpolation(expression: Any) object uris { object http$colon$div$divexample$u002Ecom$divmy$minusnamespace$minus1 { object elements { case class tagName2(attributesAndChildren: Any*) } } object http$colon$div$divexample$u002Ecom$divmy$minusnamespace$minus2 { object attributes { case class attribute3(attributeValue: Any) } case class interpolation(expression: Any) } } @inline def noPrefix[Uri](uri: Uri) = uri object prefixes extends Dynamic { @inline def applyDynamic[Uri](prefix: String)(uri: Uri) = uri } case class literal[A](a: A*) object elements { case class tagName1(attributesAndChildren: Any*) } object attributes { case class attribute1(attributeValue: Any) case class attribute2(attributeValue: Any) } object values extends Dynamic { def selectDynamic(value: String) = value } }
- Annotations
- @compileTimeOnly( ... )
- Source
- nameBasedXml.scala
Self-closing tags without prefixes
@nameBasedXml def myXml = <tagName1/> myXml should be(xml.literal(xml.elements.tagName1()))
, Self-closing tags with some prefixes
@nameBasedXml def myXml = <prefix1:tagName2 xmlns:prefix1="http://example.com/my-namespace-1"/> myXml should be(xml.literal(xml.prefixes.prefix1(xml.uris.http$colon$div$divexample$u002Ecom$divmy$minusnamespace$minus1).elements.tagName2()))
, Node list
@nameBasedXml def myXml = <tagName1/><prefix1:tagName2 xmlns:prefix1="http://example.com/my-namespace-1"/> myXml should be(xml.literal(xml.elements.tagName1(), xml.prefixes.prefix1(xml.uris.http$colon$div$divexample$u002Ecom$divmy$minusnamespace$minus1).elements.tagName2()))
, Attributes
case class f() @nameBasedXml def myXml = <tagName1 xmlns:prefix2="http://example.com/my-namespace-2" attribute1="special character: `" attribute2={ f() } prefix2:attribute3={"value"} /> myXml should be(xml.literal( xml.elements.tagName1( xml.attributes.attribute1("special character: `"), xml.attributes.attribute2(xml.interpolation(f())), xml.uris.http$colon$div$divexample$u002Ecom$divmy$minusnamespace$minus2.attributes.attribute3(xml.uris.http$colon$div$divexample$u002Ecom$divmy$minusnamespace$minus2.interpolation("value")) ) ))
- See also
Examples:
Linear Supertypes
Type Hierarchy
Ordering
- Alphabetic
- By Inheritance
Inherited
- nameBasedXml
- StaticAnnotation
- Annotation
- AnyRef
- Any
Implicitly
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new nameBasedXml()
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from nameBasedXml to any2stringadd[nameBasedXml] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (nameBasedXml, B)
- Implicit
- This member is added by an implicit conversion from nameBasedXml to ArrowAssoc[nameBasedXml] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
ensuring(cond: (nameBasedXml) ⇒ Boolean, msg: ⇒ Any): nameBasedXml
- Implicit
- This member is added by an implicit conversion from nameBasedXml to Ensuring[nameBasedXml] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (nameBasedXml) ⇒ Boolean): nameBasedXml
- Implicit
- This member is added by an implicit conversion from nameBasedXml to Ensuring[nameBasedXml] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): nameBasedXml
- Implicit
- This member is added by an implicit conversion from nameBasedXml to Ensuring[nameBasedXml] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): nameBasedXml
- Implicit
- This member is added by an implicit conversion from nameBasedXml to Ensuring[nameBasedXml] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from nameBasedXml to StringFormat[nameBasedXml] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- macro def macroTransform(annottees: Any*): Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
→[B](y: B): (nameBasedXml, B)
- Implicit
- This member is added by an implicit conversion from nameBasedXml to ArrowAssoc[nameBasedXml] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc