名前空間別パッケージ名

名前空間ごとに別のパッケージ内にクラスを生成できるようになりました.

  -p:<namespaceURI>=<package> | --package:<namespaceURI>=<package>
        specifies the target package for <namespaceURI>

例えばXML SignatureとSAML 2.0 assertionは別のパッケージの方がいいですね:

$ scalaxb -p:http://www.w3.org/2000/09/xmldsig#=org.w3.xmldsig -p:http://www.w3.org/2001/04/xmlenc#=org.w3.xmlenc -p:urn:oasis:names:tc:SAML:2.0:assertion=org.xml.saml2.assertion -p:urn:oasis:names:tc:SAML:2.0:metadata=org.xml.saml2.metadata saml-schema-metadata-2.0.xsd saml-schema-assertion-2.0.xsd xenc-schema.xsd xmldsig-core-schema.xsd 
generated ./xmldsig-core-schema.scala
generated ./xenc-schema.scala
generated ./saml-schema-assertion-2.scala
generated ./saml-schema-metadata-2.scala
$ scalac xmldsig-core-schema.scala xenc-schema.scala saml-schema-assertion-2.scala saml-schema-metadata-2.scala Helper.scala 

これは結構長い事欲しかった機能で,scoptにkeyValueOptを実装したのが一週間前なので,最低でも一週間ですね.これにより,Helper object は Helper.scala というファイル内のorg.scalaxb.rtというパッケージに移行します.