Trait

scales.xml.serializers

LSSerializer

Related Doc: package serializers

Permalink

trait LSSerializer extends Serializer

Default serializer, correctness first. Uses the LSSerializer present in each DOM L3 impl. XmlItems are always serialized with the LS, elements and attributes are however for speed reasons, verified for encoding once per QName; the attribute values themselves are written via Text nodes and LS.

Linear Supertypes
Serializer, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LSSerializer
  2. Serializer
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract val data: SerializerData

    Permalink
  2. abstract val doc: Document

    Permalink
  3. abstract val docBuilderF: DocumentBuilderFactory

    Permalink
  4. abstract val encMap: (String) ⇒ Option[Throwable]

    Permalink

    Can the ncName be mapped for a given encoding

  5. abstract val impl: DOMImplementationLS

    Permalink
  6. abstract val lsaout: LSOutput

    Permalink
  7. abstract val lsout: LSOutput

    Permalink
  8. abstract val lss: org.w3c.dom.ls.LSSerializer

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. lazy val canEncode: (String) ⇒ Boolean

    Permalink

    See default SF for logic on this, however faulty :-)

  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def ct(t: ⇒ Boolean, s: ⇒ String): Option[Throwable]

    Permalink
  8. def doElem(qName: QName, attribs: Traversable[Attribute], ns: Map[String, String], declareDefaultNS: Option[String]): Option[Throwable]

    Permalink

    Override this to order the attributes.

  9. def emptyElement(qName: QName, attributes: Traversable[Attribute], namespaces: Map[String, String], declareDefaultNS: Option[String], path: List[QName]): Option[Throwable]

    Permalink
    Definition Classes
    LSSerializerSerializer
  10. lazy val encoder: CharsetEncoder

    Permalink
  11. def endElement(qName: QName, path: List[QName]): Option[Throwable]

    Permalink
    Definition Classes
    LSSerializerSerializer
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. def item(item: XmlItem, path: List[QName]): Option[Throwable]

    Permalink

    LSSerializer in 6_24 is garbage, but the xalan one isn't much better.

    LSSerializer in 6_24 is garbage, but the xalan one isn't much better. jre uses hex, xalan numberic character refs. And jre is totally useless for cdata, writing no end part, both ignore the split-cdata-sections option when escaping, choosing to split, I assume this is only being done for character refs but follows the DOMConfiguration (instead of the load and save spec) for end sequence splitting.

    As such there only seems to be one safe way to handle this: # Use the encoder to check if a CData or Comment can be written without splitting, throw if it can't. # Write the start and end CData directly

    Definition Classes
    LSSerializerSerializer
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. def startElement(qName: QName, attributes: Traversable[Attribute], namespaces: Map[String, String], declareDefaultNS: Option[String], path: List[QName]): Option[Throwable]

    Permalink
    Definition Classes
    LSSerializerSerializer
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. lazy val textNode: org.w3c.dom.Text

    Permalink
  25. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. def writeAttr(before: ⇒ String, toCt: ⇒ String, after: ⇒ String): Option[Throwable]

    Permalink
  30. def writeNonText(item: XmlItem, path: List[QName]): Option[Throwable]

    Permalink

    Performs the actual write for Comments/CData/PI, due to LSSerializer issues this function is seperated for easy overriding, should anyone really trust their DOM/JAXP versions.

    Performs the actual write for Comments/CData/PI, due to LSSerializer issues this function is seperated for easy overriding, should anyone really trust their DOM/JAXP versions.

    For this method to be called the encoding has already been verified.

  31. def xmlDeclaration(encoding: Charset, version: XmlVersion): Option[Throwable]

    Permalink
    Definition Classes
    LSSerializerSerializer

Inherited from Serializer

Inherited from AnyRef

Inherited from Any

Ungrouped