ObjectWithXmlNamespaces.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. use JMS\Serializer\Metadata\ClassMetadata;
  3. use JMS\Serializer\Metadata\PropertyMetadata;
  4. $metadata = new ClassMetadata('JMS\Serializer\Tests\Fixtures\ObjectWithXmlNamespaces');
  5. $metadata->xmlRootName = 'test-object';
  6. $metadata->registerNamespace('http://example.com/namespace');
  7. $metadata->registerNamespace('http://schemas.google.com/g/2005', 'gd');
  8. $metadata->registerNamespace('http://www.w3.org/2005/Atom', 'atom');
  9. $pMetadata = new PropertyMetadata('JMS\Serializer\Tests\Fixtures\ObjectWithXmlNamespaces', 'title');
  10. $pMetadata->setType('string');
  11. $pMetadata->xmlNamespace = "http://purl.org/dc/elements/1.1/";
  12. $metadata->addPropertyMetadata($pMetadata);
  13. $pMetadata = new PropertyMetadata('JMS\Serializer\Tests\Fixtures\ObjectWithXmlNamespaces', 'createdAt');
  14. $pMetadata->setType('DateTime');
  15. $pMetadata->xmlAttribute = true;
  16. $metadata->addPropertyMetadata($pMetadata);
  17. $pMetadata = new PropertyMetadata('JMS\Serializer\Tests\Fixtures\ObjectWithXmlNamespaces', 'etag');
  18. $pMetadata->setType('string');
  19. $pMetadata->xmlAttribute = true;
  20. $pMetadata->xmlNamespace = 'http://schemas.google.com/g/2005';
  21. $metadata->addPropertyMetadata($pMetadata);
  22. $pMetadata = new PropertyMetadata('JMS\Serializer\Tests\Fixtures\ObjectWithXmlNamespaces', 'author');
  23. $pMetadata->setType('string');
  24. $pMetadata->xmlNamespace = 'http://www.w3.org/2005/Atom';
  25. $metadata->addPropertyMetadata($pMetadata);
  26. $pMetadata = new PropertyMetadata('JMS\Serializer\Tests\Fixtures\ObjectWithXmlNamespaces', 'language');
  27. $pMetadata->setType('string');
  28. $pMetadata->xmlAttribute = true;
  29. $pMetadata->xmlNamespace = 'http://purl.org/dc/elements/1.1/';
  30. $metadata->addPropertyMetadata($pMetadata);
  31. $metadata->addPropertyMetadata($pMetadata);
  32. return $metadata;