Comments (4)
I see your point. It would probably make sense to merge the SVGNodeContainer
features into SVGNode
then, as there would be no real need for completely child-less elements, right?
P.S. SVGTitle
constructor added in 34401ed.
from php-svg.
Unfortunately there is no official XML Schema declaration for SVG 1.1 which would define which elements may contain which sub elements - or not.
But there is a DTD available to check the validity of the resulting SVG.
https://www.w3.org/TR/SVG11/svgdtd.html
I don't see a real problem allowing sub elements on every object, even if they would not result in a renderable SVG property. After all, it's all XML and the elements might serve for "internal use" without interfering with the validity of the produced SVG file.
if you want to check how this feature is used, please visit https://sterntaufe.astronomie.at and click any of the "Vorschau im Browser (SVG)" links. Objecs are tagged with "title" elements to show their name on hovering.
I meanwhile have extended the classes for some useful (for me) spline calculations. I send you my code. Maybe you find something suitable for general use.
from php-svg.
... it's on this page: https://sterntaufe.astronomie.at/select.php
from php-svg.
That's a nice project you got there!
I looked through the DTD and couldn't find any element type that forbids child nodes, so I went ahead and made them all inherit from SVGNodeContainer
as you proposed. Getting rid of the SVGNode
/SVGNodeContainer
separation altogether would make sense but it'd require a rather big refactoring and isn't strictly necessary right now.
from php-svg.
Related Issues (20)
- Improve resiliency against whitespace in styles
- Fonts are not working on SVG HOT 1
- External fonts not working for text object HOT 1
- PHP 8.1 Deprecated notices HOT 7
- [feature request] generate sprite from an array of svg HOT 2
- I am facing an issue, to centralize the icon, text, and tagline in the SVG viewBox.
- Running PHPUnit tests on PHP 8 HOT 3
- Dropping support for PHP versions < 7.3 HOT 8
- SVGImage cannot be rasterised to PNG or JPG HOT 5
- SVGStyleParser::parseCss cannot handle duplicate selectors
- Error if font-size not set explicitly
- Issue while rendering `rect` without `x` or `y` attributes
- Does not use internal CSS
- Support SVG `<pattern>`
- SVGTextPath node not being rasterized when added as child of SVGText HOT 4
- Drop unmaintained PHP, publish a release HOT 14
- Buggy rasterization image
- Security options HOT 5
- Migrate to PHP-CS-Fixer
- Deprecated: Implicit conversion from float to int loses precision
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-svg.